'array', ]; /* |-------------------------------------------------------------------------- | FUNCTIONS |-------------------------------------------------------------------------- */ public static function boot() { parent::boot(); static::deleting(function($obj) { if (count((array)$obj->photos)) { foreach ($obj->photos as $item) { \Storage::disk('public')->delete($item['file_path']); } } }); } /* |-------------------------------------------------------------------------- | RELATIONS |-------------------------------------------------------------------------- */ public function parent() { return $this->belongsTo(HomeCarousel::class, 'parent_id'); } public function children() { return $this->hasMany(HomeCarousel::class, 'parent_id'); } /* |-------------------------------------------------------------------------- | SCOPES |-------------------------------------------------------------------------- */ /* |-------------------------------------------------------------------------- | ACCESSORS |-------------------------------------------------------------------------- */ /* |-------------------------------------------------------------------------- | MUTATORS |-------------------------------------------------------------------------- */ public function setPhotosAttribute($value) { $attribute_name = "photos"; $disk = "public"; $destination_path = "home_carousel"; $this->uploadImgMultipleFilesToDisk($value, $attribute_name, $disk, $destination_path); } }