form-> select('group_id')只显示id而不是Cakephp中的组

时间:2012-04-03 08:09:13

标签: php mysql cakephp

我正在构建一个应用程序,管理员可以将多个用户添加到组中。在UserController的Add动作中我已经:

$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');

我做错了什么?

4 个答案:

答案 0 :(得分:0)

看起来没错,我假设你在users表中有group_id字段。你可能想尝试几件事。

  1. 更改案例,例如Group_id到group_id
  2. 更改选择框的显示,如下所示

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

答案 1 :(得分:0)

字符的情况在编程中非常重要。 不仅适用于文件,还适用于类名,在您的情况下也适用于字段名称。 否则你的代码将无法正常工作:

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

应该解决问题。

答案 2 :(得分:0)

如果我没错,find('list')正在寻找id和name,所以你必须在你的情况下指定字段,因为你缺少名字字段 我希望有帮助

答案 3 :(得分:0)

Group课程中添加此行

var $displayField = 'group';

这将告诉Cake,对于此类,它应该将group视为标准模型中的name字段,而find('list')将产生您想要的结果。