belongsTo(Plant::class); } public function shift(): BelongsTo { return $this->belongsTo(Shift::class); } public function line(): BelongsTo { return $this->belongsTo(Line::class); } public function item(): BelongsTo { return $this->belongsTo(Item::class); } protected static function booted() { static::created(function ($productionQuantity) { $productionPlan = ProductionPlan::where('plant_id', $productionQuantity->plant_id) ->where('shift_id', $productionQuantity->shift_id) ->where('line_id', $productionQuantity->line_id) ->whereDate('created_at', today()) // ->where('plan_quantity', $productionQuantity->plan_quantity) ->latest() ->first(); if (!$productionPlan) { $productionPlan = ProductionPlan::where('plant_id', $productionQuantity->plant_id) ->where('shift_id', $productionQuantity->shift_id) ->where('line_id', $productionQuantity->line_id) ->whereDate('created_at', Carbon::yesterday()) // ->where('plan_quantity', $productionQuantity->plan_quantity) ->latest() ->first(); } if ($productionPlan) { $productionPlan->update([ 'production_quantity' => $productionPlan->production_quantity + 1, 'updated_at' => now(), ]); } }); } }