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