Laravel更新声明问题

时间:2016-07-01 11:43:40

标签: laravel laravel-query-builder

我正在尝试运行此更新语句:

\DB::update('UPDATE order_items SET set_id = ? WHERE id IN (?)',[$model->id, '2,3,4']);

它应该使用ids 23以及4更新order_items,但只更新order_item 2并忽略其他两个ID。

2 个答案:

答案 0 :(得分:1)

尝试Eloquent方式

OrderItem::whereIn('id', [2,3,4])
         ->update(['set_id' => $model->id]);

假设您的order_items模型为OrderItem

答案 1 :(得分:0)

正确的laravel查询构建器如下所示:

DB::table('order_items')->whereIn('id', [2, 3, 4])->update(['set_id' => $model->id]);