Add [] to fillable property to allow mass assignment onの対処法

Add [] to fillable property to allow mass assignment onの対処法

114 回閲覧されました

みなさんこんにちは、jonioです。

Laravelでデータベースに保存する時に「Add [user_id] to fillable property to allow mass assignment on [App\Models\Score].」とエラーが表示されました。

解決できたのですが次に同じ状況になった時にすぐ対処する為にこの記事を残します。

エラーの意味

Scoreモデルで大量の割り当てを許す為にfillableプロパティにuser_idを追加しなさいという意味だと思います。

「恐らくScoreモデルのfillableにuser_idを追加しないといけないという意味だろう」と思ってScoreモデルを見たらfillableの設定をしていませんでした。

だからScore.phpのコードを下記にしました。

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Score extends Model
{
    use HasFactory;


    //ここから追加
    protected $fillable = [
        'user_id'
    ];
    //ここまで追加


}

これでエラーがなくなりました。