今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

モデルの保存で Column not found エラーがでるときの対処方法

モデルを保存しようとしてエラーが発生。

  Illuminate\Database\QueryException  : SQLSTATE[42S22]: Column not found: 1054 Unknown column 'hoge' in 'field list'  

テーブルには存在しないメンバ変数を設定していると、このエラーが発生する。

モデルにメンバ変数を持たせたいけどテーブルに保存する必要がない場合は、モデルのメンバ変数宣言でfalseを設定しておくと、save()を呼んだときに、そのメンバ変数を無視してくれる。

例えば、メンバ変数 $hoge を保存しない場合は、以下のように書く。

class Hoge extends Model
{
    portected $fillable = {
        'id',
        'name',
           :
    };

    public $hoge = false;
}