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