2

私はテーブルprofilesとテーブルusersを持っprofilesていて、belongsToと関係があり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');

モデルに「User」という名前のフィールドがありません。Profileこれは次のようになります。

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