migrationファイルでの初期値設定

160 View

環境

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

カテゴリー:

返信がありません

コメントを残す