Я создаю форму Zend, в которой есть раскрывающееся меню / меню выбора, заполненное данными из запроса Doctrine 2.
В моем классе репозитория у меня есть следующий запрос в методе с именем selectUser ():
$query = $em->createQuery('SELECT u.id, u.name FROM XX\Entity\Users u ORDER BY u.name ASC');
$users = $query->getResult();
Это возвращает многомерный массив, который я пытаюсь циклически просмотреть следующим образом (в том же методе):
$options = array();
foreach ($users as $key => $value) {
$options[$value['id']] = $value['name'];
}
return $options;
Затем в моем классе формы Zend я пытаюсьзаполнить элемент Select следующим образом:
$id = new Zend_Form_Element_Select('id');
$options = $this->usersRepository->selectUser();
$id->AddMultiOptions($options);
Результатом является ошибка для каждой пользовательской строки, в которой указано «Неопределенный индекс: [имя] в ... UsersRepository.php ...» где [имя]является значением столбца «имя» в каждой строке.
Кто-нибудь видит, что я делаю неправильно или как заполнить меню динамического выбора с помощью Doctrine 2 и Zend Framework?
(Кстати, чтобы запустить метод репозитория, класс формы имеет защищенные свойства, представляющие контейнер Doctrine, менеджер сущностей и репозиторий Users. Если это не считается наилучшей практикой, я буду рад любым предложениям по улучшению mу техники.)