2

我有一张桌子profiles和一张桌子users,并且profilesbelongsTo关系users。在我profiles/edit看来,我有一个现有的下拉列表users可供选择。

但是,正如我所料,users.id并没有被保存在 中。profiles.user_id

ProfilesController.php -> 编辑:

$this->set('users', $this->Profile->User->find('list'));

并在视图 -> 配置文件 -> edit.ctp

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

在控制器中运行debug($this->request);表明正在将正确的值发送回控制器。保存操作如下所示:

if ($this->request->is('post') || $this->request->is('put')) {
    if ($this->Profile->save($this->request->data)) {
        $this->Session->setFlash(__('The profile has been saved'));
    } else {
        $this->Session->setFlash(__('The profile could not be saved. Please, try again.'));
    }
}

在返回的数据中:

data => array(
    'Profile' => array(
        'User' => '3',
                    ...
4

1 回答 1

5

这个语法是错误的:

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

您的模型中没有名为“用户”的字段Profile。这应该是:

echo $this->Form->input('user_id');
于 2013-03-17T22:09:11.590 回答