嘿!這裏總的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'));
}
錯誤在於該組是一個未定義的對象。
相關教程:http://book.cakephp.org/view/335/Create-a -Posts-Controller和http://book.cakephp.org/view/336/Creating-Post-Views – deceze 2010-04-08 03:45:19