无法使用相关模型信息填充选择选项 - CakePHP

时间:2012-10-25 15:11:20

标签: cakephp

用这个把头发弄出来,我知道它很简单,但我一直在努力解决它。为了记录我正在使用cakePHP 2.2。

我正在尝试用相关的模型数据填充选择输入。

基本上我有用户和user_statuses。用户模型属于UserStatus模型。在user / add()函数中,我希望有一个下拉选择框,其中填充了UserStatus模型中的数据。

下面是代码:

UsersController /添加()

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

查看/用户/ add.ctp

echo $this->Form->input('user_status_id', array('class' => 'span9'));

建立关系的users表中的字段是user_status_id,它链接到user_statuses表中的id。

基于上述内容,选择框不会填充user_statuses表中的状态。有趣的是,如果我将视图代码更改为:

echo $this->Form->input('user_status_id', array('class' => 'span9'));

但是,当我这样做时,不会写入数据库。

将非常感激地收到任何帮助。

提前致谢。

2 个答案:

答案 0 :(得分:2)

选项参数应解决显示问题,只要User表中有user_status_id,下面的代码就应该在保存时保存用户模型中的值。

echo $this->Form->input('User.user_status_id', array('options'=>$UserStatus,'class' => 'span9'));

答案 1 :(得分:2)

应该是:

$userStatus = $this->User->UserStatus->find('list');

(注意小写'你')