用这个把头发弄出来,我知道它很简单,但我一直在努力解决它。为了记录我正在使用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'));
但是,当我这样做时,不会写入数据库。
将非常感激地收到任何帮助。
提前致谢。
答案 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');
(注意小写'你')