Метод boot() модели
В модели Eloquent есть волшебный метод boot()
, где вы можете переопределить поведение по умолчанию:
class User extends Model
{
public static function boot()
{
parent::boot();
static::updating(function($model)
{
// выполнить какую-нибудь логику
// переопределить какое-нибудь свойство, например $model->something = transform($something);
});
}
}
Вероятно, одним из наиболее популярных примеров является установка значения поля на момент создания объекта модели. Предположим, вы хотите сгенерировать поле UUID в этот момент.
public static function boot()
{
parent::boot();
self::creating(function ($model) {
$model->uuid = (string)Uuid::generate();
});
}
Нет комментариев