Laravelのモデルにデフォルト値を設定しておく方法
Laravelのモデルにデフォルト値を設定しておく方法をメモします。
[ 目次 ]
はじめに
こんにちは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。
今回はLaravel開発中に気になったことをメモとして残しておきたいと思います。
DBのカラムにdefault値を設定した場合、LaravelのModelでもdefault値として設定させたい時があります。そんな時の実装方法を例として記載します。
■ 検証環境
ライブラリ | バージョン |
---|---|
PHP | ^7.2.4 |
Laravel | 5.7.* |
解決方法 - $attributesにdefault値を設定
対象となるモデルの$attributes属性にdefault値を設定しましょう。
const STATUS_UNCONFIRMED = 1;
protected $attributes = [
// 定数を設定
'status' => self::STATUS_UNCONFIRMED,
// Enumを設定(laravel-enumを使った場合)
'status' => \App\Enums\Job\Status::UnConfirmed,
];
結論
PHPの実績があってEloquentが変数を$attributesで保持していることがわかる方はすぐわかる内容でした!