[英]Cannot use object of type Symfony\Component\HttpFoundation\Session\Session as array (Symfony 5.3.9)
[英]Symfony 3 - Cannot use session get user
我的項目中有一個User實體。 每個頁面加載,我懶得用數據庫中的查詢恢復用戶。
我的目標是在登錄后將其直接放入會話變量中,以便在我想要時將其恢復。
在我的代碼中,如果我測試這個:
$user = $this->checkBDD($mail,$fredurne,$nomComplet);
dump($user);
$this->session->set('user',$user);
$user = $this->session->get('user');
dump($user);
我有 :
所以,會議似乎有效。
現在,我把它付諸實踐。 我創建了一個函數:
$user = $this->getUtilisateur($mail,$fredurne,$nomComplet);
dump($user);
同
public function getUtilisateur($mail,$fredurne,$nomComplet)
{
if(!$this->session->has('user'))
{
dump("user not in session");
$user = $this->checkBDD($mail,$fredurne,$nomComplet);
$this->session->set('user',$user);
}
else
{
dump("user in session");
$user = $this->session->get('user');
}
return $user;
}
我有 :
所以,我不明白這是什么問題
問題:
Doctrine實體存儲在會話中,但需要刷新
但是當你從會話中檢索實體時:Doctrine工作單元不知道它必須處理這個實體
之后你應該對Doctrine延遲加載有一些問題。
會話不適合存儲實體。
更好的解決方案是:
getUtilisateur
方法中檢索具有id的用戶(如果尚未完成)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.