Laravel查询构建器批量更新:将字段值累加指定数值
Laravel查询构建器实现字段值累加批量更新
你可以通过两种方式实现字段值累加的批量更新:
方法一:使用DB::raw()执行原生SQL逻辑
直接在update()方法的数组中,通过DB::raw()包裹字段累加的表达式,示例代码如下:
DB::table('my_table') ->where('created_at', '>=', '2000-01-01') ->update(['column' => DB::raw('column + 10')]);
这段代码会生成你需要的SQL语句:
UPDATE my_table SET column = column + 10 WHERE created_at >= '2000-01-01'
方法二:使用increment()方法(更简洁)
Laravel查询构建器提供了专门的increment()方法用于字段值的累加操作,第一个参数指定要更新的字段名,第二个参数为累加的数值(默认值为1),示例代码:
DB::table('my_table') ->where('created_at', '>=', '2000-01-01') ->increment('column', 10);
这个方法内部已经封装了原生的字段累加逻辑,写法更简洁直观,推荐使用。
内容的提问来源于stack exchange,提问作者CarlosCarucce
相关产品推荐
相关产品推荐

