Как заполнить addMultiOptions данными из базы данных - PullRequest
2 голосов
/ 26 августа 2011

Я хочу создать форму с полем выбора.Элементы в поле выбора являются категориями, я хочу поместить их из базы данных в форму addMultiOptions.

Надеюсь, что кто-нибудь мне поможет.* Nicky

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Если вы используете Zend_Db_Table_Abstract и Zend Form, вы можете сделать это:

$result = $model->fetchAll()->toArray();
$options = array();

foreach ($result as $value) {
    $options[$value['id']] = $value['whatEver'];
}

$field = new Zend_Form_Element_Select();
$field->setMultiOptions($options);

Или с контроллера:

$model = new My_Model_WhatEver();
$result = $model->fetchAll()->toArray();
$options = array();

foreach ($result as $value) {
    $options[$value['id']] = $value['whatEver'];
}

$form = new My_Form_WhatEver();
$element = $form->getElement('whatEver');
$element->setMultiOptions($result);
1 голос
/ 26 августа 2011

Вы можете использовать один или несколько методов Zend_Form_Element_Multi . Если у вас есть массив в виде

array(
  'id1' => 'value 1',
  'id2' => 'value 2',
);

Вы можете добавить их все, используя метод setMultiOptions. Если вместо этого вам нужно добавить опции внутри цикла foreach, вам нужно использовать метод addMultiOption, который добавляет опцию одновременно с

foreach ($array as $id => $value) {
  $element->addMultiOption($id, $value);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...