У меня есть таблица, в которой я должен сохранить несколько данных, в мой контроллер я реализовал это действие:Yii2 несколько моделей цикла сохранить ошибку
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;
}
Полученные данные являются правильными, но не результат, единственное, что нужно сделать, это добавить новую строку таблицы с slider_id
и image_id
, равную NULL
, почему модель не сохраняет правильно?
Благодаря
Благодаря @Ruslan Bes для ответа, окончательным решения я принятый с помощью вашего предложения в качестве следует: 'if ($ model = SlidersImages :: findOne (['slider_id' => $ id, 'image_id' => $ key])) { $ model-> display_order = $ value; // $ result = ($ t = $ model-> update())? $ result + $ t: $ result; $ result = $ model-> save() && $ result; } ' – MarBer