如何在cakephp3中保存数据库中的数组数据?

时间:2016-06-09 20:58:56

标签: cakephp

嗨,我是cakephp中的新手,我想在数据库中保存一些数组数据 这是我的代码

 $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);

但是当我测试它时发生了这个错误:                      调用数组上的成员函数errors()。 我只想更改用户发布的数据并将其保存在用户表中。

1 个答案:

答案 0 :(得分: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);
}