2016-07-01 4 views
0

Я пытаюсь запустить это обновление заявление:Laravel обновление заявление выпуск

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

он должен обновить order_items с идентификаторами 2 и 3 и 4, но только Order_Item 2 обновляется и два других идентификаторов игнорируется.

+0

Я не эксперт в Laravel, но вы хотите проверить с массивом ('2', '3', '4'); –

ответ

1

Попробуйте путь Красноречивый

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

Если у вас есть модель order_items как OrderItem.

+0

Спасибо, что это работает, но что не так с оператором обновления? – alex

0

Правильный строитель Laravel запрос как ниже:

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

ОшибкаException в строке helpers.php 747: preg_replace(): Несоответствие параметров, шаблон - строка, а замена - массив – alex

+0

Привет, Алекс. Я обновил свой ответ –

Смежные вопросы