Здравствуйте.
Есть 2 таблицы связанные один ко многим. При внесении или изменении записи в одну таблицу, необходимо добавлять неограниченное кол-во записей в другую.
Другими словами, необходимо при нажатии на кнопку добавить в форму 2 инпута, при нажатии на другую удалять их (желательно с валидацией)
Нет ли виджета для подобных задач?
Динамическое добавление полей в форму
-
- Сообщения: 610
- Зарегистрирован: 2015.07.16, 10:50
Re: Динамическое добавление полей в форму
В гугл "yii2 dynamic form"
Re: Динамическое добавление полей в форму
Спасибо, решил проблему с помощью https://github.com/wbraganca/yii2-dynamicform
Re: Динамическое добавление полей в форму
https://github.com/unclead/yii2-multiple-input За эту ссылку спасибо! попробовал в своем проекте, шикарное расширение!
Мне нужно было добавлять в форму поля "язык" и "уровень владения языком". Оба в виде выпадающего списка. С помощью этого расширения решил этот вопрос. Теперь в после отправки формы в контроллер приходит примерно такой массив пост
В контроллере при попытке загрузить все это в модель $model->load(Yii::$app->request->post()
Выдает ошибку Setting read-only property: common\models\Guide::languages
Я понимаю что это переводится "попытка установить свойство которое можно только читать".
Но по какой причине выдается эта ошибка не могу понять.
Подскажите пожалуйста в какую сторону копать? Спасибо.
PS: После того как написал этот пост. Сам понял в чем дело. Не прописал это поле в модели. Надо было добавить public $languages;
Мне нужно было добавлять в форму поля "язык" и "уровень владения языком". Оба в виде выпадающего списка. С помощью этого расширения решил этот вопрос. Теперь в после отправки формы в контроллер приходит примерно такой массив пост
Код: Выделить всё
[languages] => Array
(
[0] => Array
(
[language] => 1
[level] => 1
)
[1] => Array
(
[language] => 2
[level] => 3
)
[2] => Array
(
[language] => 3
[level] => 2
)
)
[car] => 1
[country_id] => 1
[city_id] => 1
[image] =>
Выдает ошибку Setting read-only property: common\models\Guide::languages
Я понимаю что это переводится "попытка установить свойство которое можно только читать".
Но по какой причине выдается эта ошибка не могу понять.
Подскажите пожалуйста в какую сторону копать? Спасибо.
PS: После того как написал этот пост. Сам понял в чем дело. Не прописал это поле в модели. Надо было добавить public $languages;