Метод 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();
  });
}