環境
PCはWindows10
やりたいこと
Laravelプロジェクトフォルダにて、DB設計において特定のカラムにformタグ経由でnull値がきてもDBの対応カラムには特定の初期値を設定したい。
妥当なやり方
root/database/migrationsの中にDB設計のカラムのもとになるファイルがコマンド
php artisan make:model モデル名 -m
をもとにつくられているかと思います。
初期値を設定したい場合は
->default(設定したい初期値)
を追加するだけです。
注意点
確かに上のコードを追加すれば初期値としてしっかりと設定されます。
それはどの参考サイトを確認してもかかれています。
しかし、今回、私がこの記録をのこそうとおもったのはちょっとした注意点があるからです。
実際に値をDBにおさめる処理をするとき
Laravelプロジェクトフォルダを利用している場合、おそらく対応するControllerにその処理を記述するでしょう。
その際に、当たり前ですが、初期値を設定したカラムであっても、ここでnull値を代入すると、できた
DBレコードの任意のカラムにはnull値が入ることになります。
なので、
もし、nullでないならば、対応のカラムにデータを代入する、nullならば何もしない
というように処理をかけば何もしないときにはしっかりと初期値が反映されます。
例えば
こんなふうに分岐処理をつかって、nullかどうかで処理を分岐させましょうb
返信がありません