Cakephp保存插入记录而不是更新

时间:2015-04-14 05:40:09

标签: php cakephp

我正在尝试按照cakephp'保存您的数据'2x食谱但我很难过。我的UserController有一个功能Patient。我的表是患者信息。下面是我用来保存的代码片段:

if (isset($this->request->data['patientinformation'])) {

       $this->patientinformation->create();
       $this->request->data['patientinformation']['UserID']=$this->Auth->user('id');
       $this->request->data['patientinformation']['Name']=$this->Auth->user('Name');

        } 
        $this->patientinformation->id['patientinformation']['id'];
        if ($this->patientinformation->save($this->patientinformation->id)){
           $this->Session->setFlash(__('Your information has been saved.'));
           $this->redirect(array('action' => 'index'));
        } else {

            $this->Session->setFlash(__('Your information could not be saved. Please, try again.'));

我希望做的是在id存在的情况下更新记录。我无法保存表单数据。如果我需要在此处提供更多信息,请与我们联系。

谢谢。

1 个答案:

答案 0 :(得分:4)

  

您确定您的数据正确保存在数据库中吗?

代码中的以下行没有任何意义:

$this->patientinformation->id['patientinformation']['id'];

使用此:

$this->patientinformation->id = $this->request->data['patientinformation']['id'];

在代码$this->patientinformation->save($this->patientinformation->id)的这一部分中,您试图保存ID,但其方式完全不正确。你应该保存如下:

 $this->patientinformation->save($this->request->data['patientinformation']);