私は手動でAuthコンポーネントはまだSessionの古い値をフェッチしていますか?
public function beforeFilter(Event $event){
//$companyId = $this->Companies->find(.........
$this->request->session()->write('Auth.User.company_id', $companyId);
}
そして、別のコントローラの様々なアクションで私は道
に従うことによって、セッションでその保存された企業IDを取得しようとしている。このコードによってAppController.phpののbeforeFilterで認証セッションのいくつかのキーを変更していますpublic function add(){
$companyId = $this->Auth->user('company_id');
debug($companyId); die;
}
$companyId
の値を見ると、AppControllerのbeforeFilterメソッドで更新されていない古い値が表示されています。しかし、もし私がページをリフレッシュし、再びセッションを変更しないでください、私は$companyId
の値を更新します。
私の質問は、同じリクエストで別の場所で$this->Auth->user('company_id')
コードで更新された値を取得できるように、認証セッションデータの値を更新する方法は何ですか?
助けてくれてありがとう – Yakng