2016-07-01 17 views
0

Ich versuche, dieses Update-Anweisung auszuführen:Laravel Update-Anweisung Ausgabe

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

es order_items mit ids 2 und 3 und 4 aktualisieren sollte, aber ORDER_ITEM nur 2 aktualisiert und zwei andere ids wird ignoriert.

+0

ich kein Experte in Laravel bin, aber Sie wollen Scheck mit array ('2', '3', '4'); –

Antwort

1

den Weg Eloquent Versuchen

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

Sie haben ein Modell für order_items als OrderItem Unter der Annahme.

+0

Danke, es funktioniert, aber was ist falsch mit Update-Anweisung? – alex

0

Die richtige Laravel Query Builder ist wie unten:

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

ErrorException in helpers.php Zeile 747: preg_replace(): Parameter stimmen nicht überein, Muster ist eine Zeichenfolge, während Ersatz ein Array ist – alex

+0

Hallo Alex. Ich habe meine Antwort aktualisiert –