Page::class ]; /** * The attributes that are mass assignable. * * @var array */ #[\Override] protected $fillable = [ 'title', 'subtitle', 'text', 'picture', 'alt_text_picture', ]; /** * The attributes that are translatable. * * @var array */ public $translatable = [ 'title', 'subtitle', 'text', 'picture', 'alt_text_picture', ]; /** * Perform any actions required after the model boots. * * @return void */ protected static function boot() { static::creating(function (Encart $encart): void { if (is_a($encart->picture, "SplFileInfo")) { $encart->picture = Utils::storeImage($encart->picture, $encart->getTable()); } }); static::updating(function (Encart $encart): void { if (is_a($encart->picture, "SplFileInfo")) { $encart->picture = Utils::storeImage($encart->picture, $encart->getTable()); } }); static::deleted(function (Encart $encart): void { if ($encart->picture) { $urlPicture = public_path() . $encart->picture; if ($urlPicture) { if (File::exists($urlPicture)) { File::delete($urlPicture); } } } }); parent::boot(); } }