我在编辑方法中有以下代码,允许用户编辑他们的帐户详细信息。它同时使用 User 和 Profile 模型,并且应该同时更新两者。
我使用 find 中的 contains 来加载 Profile 信息,并使用控制器顶部的 $uses var 调用 Profile 模型。
但是如何将两个模型都加载到 read 方法中呢?
$user = $this->User->find('first', array(
'conditions' => array('User.id' => $this->Auth->user('id')),
'contain'=>'Profile'
));
if ($this->request->is('post') || $this->request->is('put'))
{
if ($this->User->save($this->request->data))
{
$this->Session->setFlash(__('Your account has been saved'));
$this->redirect(array('controller'=>'users','action'=>'edit'));
}
else
{
$this->Session->setFlash(__('Whoops! Something went wrong... try again?'));
}
}
else
{
$this->request->data = $this->User->read(null, $user['User']['id']);
}