Edit File: Category.php
<?php namespace App\Models; use App\Traits\Uploadable; use Illuminate\Database\Eloquent\Model; use Spatie\Translatable\HasTranslations; use Illuminate\Database\Eloquent\Factories\HasFactory; class Category extends BaseModel { use HasFactory, HasTranslations , Uploadable; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['name' , 'image' , 'status']; public $translatable = ['name']; public function getImagePathAttribute() { return asset('assets/uploads/categories/' . $this->image); } public function companies(){ return $this->hasMany(DelegateCompany::class); } public function delegates(){ return $this->hasMany(DelegateJoinRequest::class); } public function cars(){ return $this->hasMany(CarModel::class); } public function carTypes(){ $this->hasMany(Cartype::class); } public function setImageAttribute($value) { if ( null != $value && is_file($value) ) { $this->attributes['image'] = $this->uploadOne($value, 'categories'); } } public static function boot() { parent::boot(); /* creating, created, updating, updated, deleting, deleted, forceDeleted, restored */ self::deleted(function ($model) { $model->deleteFile($model->attributes['image'], 'categories'); }); } }
Back to File Manager