如何将其翻译为在laravel查询构建器中使用?
MYSQL
update mytable
set val = val +1
where id = 1
在laravel中
$res = DB::table('mytable')
->update(['val' => ?]);
由于
答案 0 :(得分:4)
尝试:
DB::table('mytable')->where('id',1)->increment('val');
increment
方法接受总和的第二个参数,如果您需要val = val + 2
,则可以使用->increment('val', 2)
。
请参阅此参考:https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Builder.html#method_increment
答案 1 :(得分:1)
如果你做的计算比增量更复杂,你也可以这样做:
DB::table('mytable')->where('id',1)->update(['val' => DB::raw('val * 3')]);
小心DB::raw
- 它不会为你逃脱用户输入。