YII2 одновременное обновление нескольких строк

Я перечислил несколько строк данных из базы данных в GridView. Теперь мне нужно обновить определенные поля (все одного типа, то есть с одинаковыми именами, но разными значениями) в GridView и обновить значения в базе данных. Ячейка в материи возвращается следующим образом:

return Html::input('text', '['.$data->country_id.']country_polity', $data->country_polity, ['class' => 'form-control']);

Итак, в общем, я хочу отобразить политику страны в GridView и дать пользователю возможность обновлять эти значения в GridView.

Я просмотрел различные руководства (пример ниже), и все руководства посвящены вставке данных в базу данных, а не обновлению. Тем не менее, я не смог придумать реализации из этих руководств для достижения своей цели.

http://www.yiiframework.com/wiki/666/handling-tabular-data-loading-and-validation-in-yii-2/

loadMultiple() мне ничего не возвращает, вероятно, из-за неточных способов определения стран, значения которых необходимо изменить.

Итак, как мне поступить? foreach каждый $_POSTэлемент и сохранять их по отдельности в соответствующую строку БД?


person jeesus    schedule 31.07.2015    source источник


Ответы (1)


Я думаю, вы можете сделать это в своем контроллере. Сначала вы можете получить модели из $_POST, используя

$post = Yii::$app->request->post();
$yourModels = $post['yourModelName'];

тогда просто

foreach ($yourModels as $model) {
            model->save(false);
}
person scaisEdge    schedule 31.07.2015
comment
Спасибо! Почему-то я не мог прочитать правильную информацию о посте раньше. Это был путь, хотя. - person jeesus; 03.08.2015