0

用这个拉我的头发,我知道它很简单,但我一直在努力解决它。作为记录,我使用的是 cakePHP 2.2。

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

基本上我有用户和用户状态。用户模型属于 UserStatus 模型。在 user/add() 函数中,我想要一个下拉选择框,其中填充来自 UserStatus 模型的数据。

继承人的代码:

用户控制器/添加()

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

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

任何帮助将不胜感激。

提前致谢。

4

2 回答 2

2

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

echo $this->Form->input('User.user_status_id', array('options'=>$UserStatus,'class' => 'span9'));
于 2012-10-25T15:30:20.123 回答
2

应该:

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

(注意小写“u”)

于 2012-10-25T15:42:33.277 回答