あきぞらです。
LaravelのEloquentを使っていて、
updated_atやcreated_atなどのカラムがないテーブルを更新したいときがありました。
そのままでsaveなどの関数を使ってしまうと、
エラーになってしまいます。
そこで今回は、updated_atやcreated_atなどのカラムがないテーブルを更新する方法について紹介していきます。
$timestampsをfalseに設定する
updated_atやcreated_atなどのカラムがないテーブルや、
(そのような場合があるか分かりませんが、)更新したくない場合、
public $timestamps = false;
の記述をいれることで実装ができます。
下記にBook
というモデルの記述例を出します。
class Book extends Model { protected $table = 'books'; public $timestamps = false; protected $fillable = [ 'name', 'price', ]; }
これで、このモデルに紐づいているbooks
というテーブルは
updated_at
、created_at
の更新は考えなくてもよくなります。