我在ZendFramework項目中使用Doctrine2和我有一個不容易解決了我的問題...實體Doctrine2 - 加載會話不起作用
所以,當用戶成功登錄頁面,我把他的對象到會話:
Zend_Auth::getInstance()->getStorage()->write($user);
一切工作正常,但是當我刷新頁面,並從會話負載的用戶:
$user = Zend_Auth::getInstance()->getStorage()->read();
而與此$用戶,我可以做任何Doctr ine2操作: - /。我能夠例如使用「的getId()」方法,但是當我嘗試例如使用$用戶在任何關係:
$session = new App_Model_LogSessions();
$session->setUser($user);
...
我看到Doctrine2例外:
實體App_Model_Users是沒有管理。如果一個實體從數據庫中獲取或通過EntityManager註冊爲新的,則管理實體#persist
如何解決這個問題?有什麼方法「重新加載」實體嗎?我需要使用會話,我不想在每個頁面請求中從數據庫加載用戶。我想加載一次,並讓他參加會議。
謝謝!