В моей форме Zend есть поле множественного выбора (интересов), и я выбираю несколько вариантов из него, когда добавляю пользователя.
Теперь, когда я редактирую этого пользователя, мне нужно установить некоторые параметры, выбранные по умолчанию (которые я выбрал при добавлении пользователя).
Как мне этого добиться? Я использовал populate (Array) в действии обновления моего контроллера, но это не работает.
Это код поля множественного выбора в пользовательской форме добавления / редактирования:
$interests = new Zend_Form_Element_Multiselect('interest');
$days->setLabel('Interests')
->addMultiOptions($user_interests)
->setRequired(true)
->addValidator('NotEmpty');
А при добавлении в форму параметров «проценты» массив $user_interests
выглядит так:
array(1=>'Blogging', 2=>'Swimming', 3=>'Cricket', 4=>'Yoga')
Я выбрал первые 2 интереса при добавлении пользователя.
Теперь при редактировании я получаю пользовательские данные из запроса к базе данных. Этот массив данных используется для заполнения формы, и эта структура массива выглядит следующим образом:
Array (
[username] => john
[user_dob] => 1981-03-12
[email] => john@gmail.com
[interest] => Array ( [0] => 1 [1] => 2 )
)
и, как вы можете видеть, интересы "Блоггинг" и "Плавание" должны быть выбраны в моей форме редактирования. Но я вижу, что выбирается только опция «Плавание».