Laravel | 解決方法方 Add [xxxx] to fillable property to allow mass assignment on

Laravel

エラー内容

Laravel で データベースに登録するときに、下記のエラーが発生する場合があります。

このエラー原因としては、EloquentでMass Assignmentが未設定となっているためです。

Mass Assignment (マス アサインメント)とは

Webアプリケーションのアクティブなレコードパターンが悪用され、パスワード、許可された権限、または管理者のステータスなど、ユーザーが通常はアクセスを許可すべきでないデータ項目を変更するコンピュータの脆弱性のことです。

Web上から入力されてきた値を制限することで不正なパラメータを防ぐ仕組みです。

LaravelではMass Assignmentの対策がされているので、未設定の場合には、今回のようなエラーが発生します。

解決方法

エラーで指摘されたモデルに、下記2つの方法でどちらかを設定することで解決できます。

ホワイトリスト方式:保存したいカラム名を設定

ブラックリスト方式:書き込みを禁止したいカラム名を設定

おススメ商品

タイトルとURLをコピーしました