Exebeche
@Exebeche
Осваиваю программирование

Как сохранить каждое поле формы в отдельную строку таблицы?

Имеется форма состоящая из нескольких таблиц/моделей - анкета.
Количество полей анкеты не постоянно, что не дает возможности обычного сохранения в БД. (Поля могут добавляться/удаляться + могут различаться по нескольким критериям)
Пришел к выводу, что сохранить можно в отдельную таблицу где каждая строка = поле формы.
Как можно провернуть такой трюк? Именно как сохранить каждое поле формы как отдельную запись в таблицу.
Можно на примере дефолтной формы обратной связи или любой другой (саму структуру таблицы я представляю, а вот как такое сохранение провернуть - не догоняю)
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Количество полей анкеты не постоянно

а от чего зависит? Возможно стоит подумать о том, что бы хранить в виде json?

Пришел к выводу, что сохранить можно в отдельную таблицу где каждая строка = поле формы.

Не совсем понимаю что это даст? Вы решаете как хранить результат заполнения таких форм или их конфиг?
Кстати обратите внимание: https://github.com/kevinchappell/formBuilder
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@sidni
Php Developer
есть такой модуль https://github.com/ElisDN/yii2-composite-form
В живую никогда им не пользовался, но использовал его принцип, когда Вы создаете грубо говоря форму-контейнер а в нее инжектите свои формы в зависимости от вашего сценария, в форме контейнера переопределяете два метода load и validate, в которые вы загружаете и валидируете данные внутренних форм и в контроллере после успешной валидации сохраняете ваши данные в бд
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы