LaravelのEloquentモデルでupdated_atがないテーブルを使う

Laravelのバージョンは5.5で確認。
Eloquentモデルは作成時に自動でcreated_atupdated_atを更新してくれる。
しかし、仕様の都合上、updated_atカラムがないテーブルを利用したかったのでその方法。

定数でのカラム指定

Eloquentモデル内で定数を使用することで明示的にカラム名を指定する事が可能。

1
2
const CREATED_AT = 'date_created';
const UPDATED_AT = 'date_modified';

これを利用し、更新カラムはない事を指定してやればよい。

1
const UPDATED_AT = null;

これだけ。

情報元

無効化

ちなみに、created_atupdated_atを自動で更新させたくない場合は以下のように指定してやればよいよう。
自動で更新しなくなるので、それらのカラムがないテーブルでもEloquentモデルを利用出来るようになる。

1
public $timestamps = false;
   このエントリーをはてなブックマークに追加