如何使用雄辩进行大规模更新


How to perform mass update using eloquent?

我有一个模型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);