0

編集したデータの保存でエラーが発生します。実際にユーザーが編集ボタンをクリックした ユーザーは編集データ ページの最後 (後) で編集データ ページにリダイレクトされます。ケーキ焼き。コードは

public function edit($id = null) {
    if (!$this->User->exists($id)) {
        throw new NotFoundException(__('Invalid user'));
    }
    if ($this->request->is('post') || $this->request->is('put')) {

        if ($this->User->save($this->request->data)) {
            $this->Session->setFlash(__('The user has been saved.'));
            return $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The user could not be saved. Please, try again.'));
        }
    } else {
        $options = array('conditions' => array('User.' . $this->User->primaryKey => $id));
        $this->request->data = $this->User->find('first', $options);
    }
}

私も保存の代わりにsavefieldを試しましたが、それはすべてのフィールドがnullの新しいユーザーを追加しています。

4

1 に答える 1

0

保存する前に、ユーザーの id プロパティを設定する必要があります。

$this->User->id = $id;

または、$this->request->data;編集中のオブジェクトの id が存在することを確認してください。$this->request->data['User']['id'];この特定のケースでは、要求データにユーザー id がないことが問題の原因です。

于 2013-11-01T18:59:09.173 に答える