belongsTo(Spice::class); } public function supplier() { return $this->belongsTo(Supplier::class); } protected static function booted(): void { static::created(function (SpiceSupplier $ss) { SpiceStockMovement::create([ 'spice_id' => $ss->spice_id, 'amount' => $ss->amount, 'source_type' => 'delivery', 'source_id' => $ss->id, 'description' => 'Lieferung' . ($ss->supplier ? ' von ' . $ss->supplier->name : ''), ]); $ss->spice->recalculateQuantity(); }); static::deleted(function (SpiceSupplier $ss) { SpiceStockMovement::where('source_type', 'delivery') ->where('source_id', $ss->id) ->delete(); $ss->spice->recalculateQuantity(); }); } }