Как установить значение по умолчанию для атрибута модели Laravel Как установить значение по умолчанию для атрибута в модели Laravel? Должен ли я установить значение по умолчанию при создании переноса или установить его в классе модели? Ответ 1 Вы можете установить атрибут Default в Model также > protected $attributes = [ 'status' => self::STATUS_UNCONFIRMED, 'role_id' => self::ROLE_PUBLISHER, ]; Вы можете найти информацию в этих ссылках 1.) Как установить значение атрибута по умолчанию для модели Laravel/Eloquent? 2.) https://laracasts.com/index.php/discuss/channels/eloquent/eloquent-help-generating-attribute-values-before-creating-record Вы также можете использовать Аксессоры и мутаторы для этого Вы можете найти подробную информацию в документации Laravel 1.) https://laravel.com/docs/4.2/eloquent#accessors-and-mutators 2.) https://scotch.io/tutorials/automatically-format-laravel-database-fields-with-accessors-and-mutators 3.) Универсальные аксессоры и мутаторы в Laravel 4 Ответ 2 Другие ответы не работают для меня - они могут быть устаревшими. Вот что я использовал в качестве решения для автоматической установки атрибута: /** * The "booting" method of the model. * * @return void */ protected static function boot() { parent::boot(); // auto-sets values on creation static::creating(function ($query) { $query->is_voicemail = $query->is_voicemail ?? true; }); } Ответ 3 Вы должны установить значения по умолчанию в миграциях: $table->tinyInteger('role')->default(1);
Ответ 1 Вы можете установить атрибут Default в Model также > protected $attributes = [ 'status' => self::STATUS_UNCONFIRMED, 'role_id' => self::ROLE_PUBLISHER, ]; Вы можете найти информацию в этих ссылках 1.) Как установить значение атрибута по умолчанию для модели Laravel/Eloquent? 2.) https://laracasts.com/index.php/discuss/channels/eloquent/eloquent-help-generating-attribute-values-before-creating-record Вы также можете использовать Аксессоры и мутаторы для этого Вы можете найти подробную информацию в документации Laravel 1.) https://laravel.com/docs/4.2/eloquent#accessors-and-mutators 2.) https://scotch.io/tutorials/automatically-format-laravel-database-fields-with-accessors-and-mutators 3.) Универсальные аксессоры и мутаторы в Laravel 4
Ответ 2 Другие ответы не работают для меня - они могут быть устаревшими. Вот что я использовал в качестве решения для автоматической установки атрибута: /** * The "booting" method of the model. * * @return void */ protected static function boot() { parent::boot(); // auto-sets values on creation static::creating(function ($query) { $query->is_voicemail = $query->is_voicemail ?? true; }); }
Ответ 3 Вы должны установить значения по умолчанию в миграциях: $table->tinyInteger('role')->default(1);