我有一个模型Post
,想要批量更新它的记录。我知道这种方法:
Post::where('id', '>', '10')->update(...)
但我需要递增记录的times_seen
属性。换句话说,对于每个匹配where(...)
条件的记录,我需要将times_seen
属性的值增加1。例如:
Post::where('id', '>', '10')->update(['times_seen', ?]) // '?' = 'times_seen + 1'
我该怎么做?
尝试查询生成器的increment()方法:
Post::where('id', '>', 10)->increment('times_seen');
如果你需要将其增加一个以上,你可以将确切的值作为第二个参数:
Post::where('id', '>', 10)->increment('times_seen', 5);