Эй!Total CakePHP noob здесь.
Обновлено внизу /
Это своего рода двоякий вопрос.В представлении, которое используется для добавления user
объектов, я хотел бы использовать раскрывающееся поле (выделение) в форме.
Каждый user
принадлежит group
, поэтому при добавлении пользователяЯ хочу выпадающий список, который содержит все группы, к которым пользователь может присоединиться.В настоящее время поле group_id
является текстовым полем.Я знаю, как заставить его быть полем выбора, но я не знаю, как программно заполнить выбор названиями групп.
Текущий метод:
echo $form->input('group_id', array(
'1' => 'NameOfGroup1',
'2' => 'NameOfGroup2',
'3' => 'NameOfGroup3')
);
Я хочу сгенерировать массив опций программно.
echo $form->input('group_id', $this->Group->find('list'));
Это не работает, хотя.Я получаю сообщение об ошибке:
Undefined property: View::$Group [APP/views/users/add.ctp, line 8]
Для меня это означает, что у меня нет доступа к объекту Group
в моем представлении пользователя.
Как я могу это сделать?Опять же, я хочу сделать это программно, чтобы он обновлялся при добавлении или удалении групп.
РЕДАКТИРОВАТЬ: Почему это не работает?
// In views/users/someaction.ctp
echo $form->input('group_id',
array('options' => $this->formOptionsGroups)
);
// In controllers/users_controller.php
function someaction() {
// Any other logic
$this->set('formOptionsGroups', $this->Group->find('list'));
}
Ошибка в том, что группа являетсянеопределенный объект.