CakePHP:在用户编辑后更新所有表?

CakePHP:在用户编辑后更新所有表?,php,cakephp,Php,Cakephp,我正在开发一个CakePHP网站,其中大部分都可以使用,但我正在尝试更新用户页面(现在我将其重定向到该页面,一旦它可以使用,我计划将其作为AJAX更新)。现在代码确实起作用了 if ($this->request->is('post')) { $this->loadmodel('Setting'); $this->loadmodel('Address'); if ( $this->User->save(

我正在开发一个CakePHP网站,其中大部分都可以使用,但我正在尝试更新用户页面(现在我将其重定向到该页面,一旦它可以使用,我计划将其作为AJAX更新)。现在代码确实起作用了

    if ($this->request->is('post')) {
        $this->loadmodel('Setting');
        $this->loadmodel('Address');

        if ( $this->User->save($this->request->data, $validate = true, $fieldList = array('firstname','surname','homephone','mobilephone','dob','gender')) ) {

            $NewUserID = $this->Auth->user('id');   
            $this->Session->write('Auth', $this->User->read(null,$NewUserID));

            $this->Session->setFlash('Update done :)', 'GoodFlashMsg', array(), 'Good');
            $this->redirect('/user');
        } else {
            $this->Session->setFlash('Sorry :( There has been an error, please try again', 'BadFlashMsg', array(), 'Bad');
            $this->redirect('/');
        } 
    } //End of POST
现在,这就是它的目的,保存更新的用户详细信息(地址是另一个表,我稍后会做)。但是,当我重新加载用户ID以刷新身份验证信息时,地址表信息似乎从身份验证会话中删除,因为当它在重定向上重新加载页面时,地址信息为空

当用户编辑其中任何信息时,无论是用户详细信息还是地址详细信息,我只是尝试更新身份验证信息(所有信息,地址表都通过ID链接到用户表)


谢谢

比较
$this->session->write('Auth',$this->user->read(null,$NewUserID))前后会话中存储的用户信息的数组格式调试($\u会话)
的code>语句。您会发现数组格式不同。因此,以预期的格式存储信息,因为您的问题将得到解决


此外,在将信息设置为会话之前,您应该先取消设置密码字段。

是的,我已经完成了排序,在运行保存之前,我在“$this->Auth->user”上进行了调试,之后又进行了调试。调试之后,删除了我链接到它的表。我只是不知道如何重新构建它,以便它不会删除链接数据?谢谢。完成了,非常感谢。我研究了如何构建它,并以不同的方式编辑信息。所以我所做的,不确定它是否正确:(-只是用“$this->Session->write('Auth.user',array($this->user->read(null,$NewUserID))”来更新用户信息;'