Ich habe eine Tabelle, in der ich auf mehrere Daten, in meinem Controller speichere ich diese Aktion implementiert haben:Yii2 mehrere Modelle Schleife speichern Fehler
public function actionUpdateOrder($id){
/*DA TESTARE*/
//$result = 0;
$result = true;
$s = new Session;
$model = new SlidersImages();
if ($new_order = Yii::$app->request->post('order')) {
//$s['us_model'] = 0;
foreach ($new_order as $key => $value) {
if ($model::find()->where(['slider_id' => $id, 'image_id' => $key])->all()) {
$s['image_'.$key] = $model;
$model->display_order = $value;
//$result = ($t = $model->update()) ? $result + $t : $result;
$result = $model->save() && $result;
}
}
}
return $result;
}
Die empfangenen Daten sind richtig, aber nicht das Ergebnis, Das einzige, was die Aktion macht, ist, eine neue Tabellenzeile mit slider_id
und image_id
gleich NULL
hinzuzufügen, warum das Modell nicht korrekt speichert?
Dank
Dank @Ruslan Bes für die Antwort, die endgültige Lösung, die ich angenommen habe mit Ihrem Vorschlag ist als folgt: 'if ($ model = SlidersImages :: findOne (['slider_id' => $ id, 'image_id' => $ schlüssel])) { $ model-> display_order = $ value; // $ result = ($ t = $ modell-> update())? $ Ergebnis + $ t: $ Ergebnis; $ result = $ model-> save() && $ result; } ' – MarBer