0
我有一個頁面,我可以修改用戶詳細信息(用戶名,名字,頭像...)。 我在我的導航欄中有一個關於當前登錄用戶信息的元素。事情是我無法弄清楚如何在數據修改後立即刷新會話。CakePHP 3刷新會話數據
在UsersController:
public function edit($id = null)
{
if (!$id) {
throw new NotFoundException(__('Invalid user'));
}
$user = $this->Users->get($id);
if ($this->request->is(['post', 'put'])) {
$this->Users->patchEntity($user, $this->request->data);
if ($this->Users->save($user)) {
//REFRESH SESSION ????\\
$this->request->session()->write('Auth.User', $user);
//\\
$this->Flash->success(__('User has been updated.'));
return $this->redirect(['action' => 'edit/' . $id]);
}
$this->Flash->error(__('Unable to update User details.'));
}
$this->set(compact('user'));
}
'unset($ data ['password'])'不應該是必須的,因爲它應該位於實體內部的隱藏屬性中。 –
@StefanD。在一個理想的世界中,無論烘焙功能在一個月前是否被破解(烘烤1.1.4),人們甚至可能不會使用烘焙和/或使用「token」,「password」以外的列和'passwd'(這是什麼烘烤檢測),所以我說它仍然值得一提的是,人們應該留意這一點。 – ndm