public static function boot()
{
parent::boot();
static::updated(function ($model) {
$oldObject = $model->getOriginal();
$imageFields = $model->image_fields;
if (count($imageFields) > 0) {
foreach ($imageFields as $key => $value) {
if (empty($oldObject[$value])) {
continue;
}
$imageObject = ImageService::getImageObject($oldObject[$value]);
if ($imageObject && !empty($imageObject->original->url) && $model->{$value}->original->url != $imageObject->original->url) {
$imageObject->delete();
}
}
}
});
static::deleted(function ($model) {
$imageFields = $model->image_fields;
if (count($imageFields) > 0) {
foreach ($imageFields as $key => $value) {
$model->{$value}->delete();
}
}
});
}