タイムスタンプ(_updated_at
_以外)を更新して、1つのクエリで列をインクリメントすることは可能ですか?私は明らかに->increment('count')
と個別に->update(['last_count_increased_at' => Carbon::now()])
を実行できますが、両方を一緒に行う簡単な方法があります。
Product::where('product_id', $product->id) ->update(['count'=>count+1, 'last_count_increased_at' => Carbon::now()];
最初にクエリを実行してカウントを取得する必要がない場合は、
DB::raw
方法:
Product::where('product_id', $product->id)
->update([
'count'=> DB::raw('count+1'),
'last_count_increased_at' => Carbon::now()
]);
操作中に更新する追加の列を指定できます。
Product::where('product_id', $product->id)
->increment('count', 1, ['last_count_increased_at' => Carbon::now()]);