Edit File: ProductAddon.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\Translatable\HasTranslations; class ProductAddon extends BaseModel { use HasFactory, HasTranslations, SoftDeletes; const IMAGEPATH = 'product_addons'; public $translatable = ['name', 'description']; protected $fillable = [ 'name', 'description', 'price', 'provider_id', 'image', ]; public function productClassifications() { return $this->belongsToMany( ProductClassification::class, 'addon_classification', 'product_addon_id', 'product_classification_id' ); } public function provider() { return $this->belongsTo(Provider::class); } public static function boot() { parent::boot(); static::deleted(function ($addon) { CartItem::whereJsonContains('product_addons', $addon->id)->get()->each(function ($cartItem) use ($addon) { $updatedAddons = array_values(array_diff($cartItem->addons, [$addon->id])); $cartItem->update(['product_addons' => $updatedAddons]); }); }); } }
Back to File Manager