Laravelの登録・更新処理で「$fillable」を検証してみた
Laravelの登録、更新で「$fillable」を使用するとシンプルなコードで処理ができるらしい。。との事で検証してみた。
PHPでの標準的は登録処理はこのようにフォームの値をrequestから各項目から1つずつデータを受け取って処理をしている。
これを「$fillable」または「$guarded」を使うとわざわざ1つずつフォームの値を受け取らなくても登録・更新処理ができるらしい。
それでは、「$fillable」で試してみよう!
まずは、Modelを編集する。
Modelに「protected $fillable = [];」の配列を用意して処理したいカラムを指定する。Laravelでは「id」timestampsのカラム「create_at」「update_id」が標準で作成する仕組みなので、それ以外のフォームで登録・更新するカラムを設定する。
Controllerの登録メソッドを下記のように書き換える。この2行のみ
1行目が「$fillable」を使用しないで登録したパターンで2行目が「$fillable」を使用した登録結果です。どちらとも上手くいきました。
この方法は、更新処理(update)でも同じように使えます。
以上、ご参考になると幸いです。
Makoto
この記事が気に入ったらサポートをしてみませんか?