2016-06-09 143 views
0

嗨,我是在CakePHP中新,我想保存在數據庫 這裏有些陣列中的數據是我的代碼如何在cakephp3的數據庫中保存數組數據?

$user = $this->Users->newEntity(); 
    if ($this->request->is('post')) { 
     $user = $this->Users->patchEntity($user, $this->request->data); 
     $userdata=[ 
      'firstname'=>$user['firstname'], 
      'lastname'=>$user['lastname'], 
      'nationcod'=>$user['nationcod'], 
      'usrename'=>$user['username'], 
      'password'=>$user['username'] 
      ]; 
     $this->Users->save($userdata); 

,但是當我測試了這個錯誤發生: 調用一個成員函數錯誤()上陣列。 我只想更改用戶發佈的數據並將其保存在用戶表中。

回答

0

您已將$user分配給$this->Users->newEntity();。並且你正在使用$user['firstname']。它不會有任何內容,因爲它是一個不是數組的實體。從你的問題,我想你想保持用戶的用戶名作爲他們的密碼。所以你所要做的就是這個。

$user=$this->Users->newEntity(); 
if($this->request->is('post')){ 
    $this->request->data['password']=$this->request->data['username']; 
    $user=$this->Users->patchEntity($user,$this->request->data); 
    $this->Users->save($user); 
}