Edit File: StoreMenuCategory.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Spatie\Translatable\HasTranslations; use App\Traits\Uploadable; class StoreMenuCategory extends Model { use HasFactory, HasTranslations , Uploadable; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['name' , 'store_id' , 'available' , 'image']; public $translatable = ['name']; protected function asJson($value) { return json_encode($value, JSON_UNESCAPED_UNICODE); } public function products(){ return $this->hasMany(Product::class); } public function store(){ return $this->belongsTo(Store::class); } public function getImagePathAttribute() { return asset('assets/uploads/menus/' . $this->image); } public function setImageAttribute($value) { if ( null != $value && is_file($value) ) { $this->attributes['image'] = $this->uploadFile($value, 'menus'); } } public static function boot() { parent::boot(); /* creating, created, updating, updated, deleting, deleted, forceDeleted, restored */ self::deleted(function ($model) { $model->deleteFile($model->attributes['image'], 'menus'); }); } }
Back to File Manager