xoma2
@xoma2
Программист

(Yii2) Как сохранить сразу несколько строк в базу?

Сделал что то на подобии такого
b39dc0d97c97481688a965dc6223e9e5.png
Выводятся все юзеры из базы. По клику можно отредактировать поля.
Именя инпутам назначаю какие следует Users[name] в зависимости от типа поля.
Но никак не получается сохранить все, если редактируются несколько полей
  • Вопрос задан
  • 6183 просмотра
Пригласить эксперта
Ответы на вопрос 4
@hector
php программист
Если не использовать AR, то batchInsert()
Ответ написан
Комментировать
@slavabars
Веб программист
Ну так ты циклом пробегись по массиву и разбей на запросы.
Зачем пихать все в 1 запрос? Да и одним только insert сделать можно, update не выйдет.
Ответ написан
Комментировать
xoma2
@xoma2 Автор вопроса
Программист
Сделал вот так

"<input type='text' class='form-control' name='Users[" + id + "_" + attr +  "]' value=" + value + ">"

Оборачиваю в input и добавляю id записи к типу поля.

Затем сортирую в контроллере
foreach($_POST['Users'] as $key=>$value){
                list($id, $name) = explode("_", $key);
                $user = Users::findOne($id);
                $user->$name = $value;
                $user->save();
}
Ответ написан
@raf_nnov
www.yiiframework.com/doc-2.0/guide-input-tabular-i...
могу показать на своем примере редактирования (сильно от доков не отличается)...
правда у меня не по отдельности поля редактируются...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы