2012-04-03 76 views
0

我正在構建一個應用程序,管理員可以將多個用戶添加到組中。在UserController中的添加操作我:form-> select('group_id')只顯示id而不顯示Cakephp中的組

$this->set('groups', $this->User->Group->find('list')); 

輸出應該與不同組目前在團體表中已有一個選擇框。

Groups table: 
    'id' 'group' 'comments' 

Model (user): 
    public $belongsTo = array('Group'); 

UserController: 
    $this->set('groups', $this->User->Group->find('list')); 

View (Users/add) 
    echo $this->Form->input('Group_id'); 

我在做什麼錯?

+0

你使用什麼版本的蛋糕? – 2012-04-03 08:14:53

+0

2.1當前,因爲它是一個新的版本。 – 2012-04-03 08:18:10

+0

你似乎做得正確。 http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html – 2012-04-03 08:41:08

回答

0

Group類加入這一行

var $displayField = 'group'; 

這將告訴,對於這一類,它應該把group,就好像是在標準模型中的name場和find('list')會產生你想要的結果的蛋糕。

+0

謝謝!真的有訣竅! – 2012-04-05 18:38:35

+0

...,它會自動顯示「組」字段,其中「名稱」字段通常也會在許多其他上下文中顯示。 – Annabel 2012-04-06 13:42:53

+0

有用的東西知道!謝謝! – 2012-04-07 13:30:56

0

它看起來是正確的,我想你在用戶表GROUP_ID場。你可能想嘗試幾件事情。

  1. 變化的情況下,例如GROUP_ID到GROUP_ID
  2. 變化選擇框的顯示作爲遵循

    回聲$這 - >形式 - >輸入( 'GROUP_ID',$基團);

+0

我不認爲$組作爲第二參數是正確的 – mark 2012-04-03 10:49:43

0

字符的情況在編程中非常重要。 不僅對文件,但也爲類名和你的情況的字段名。 否則您的代碼將無法正常工作:

echo $this->Form->input('group_id'); 

應該解決的事情。

0

如果我沒有錯,查找(「列表」)正在尋找標識和名稱,所以你必須在你的情況下指定字段,因爲你缺少name字段 我希望幫助