如何將doctrine實體管理器傳遞給某個類構造函數?未捕獲的異常'Doctrine ORM ORMException'帶消息'EntityManager已關閉
例如,我在文件_someAction.php中設置並創建實體管理器$em
。 在同一個文件中,我實例化類,並將實體管理器傳遞給構造函數,但是在類中不起作用。我得到
致命錯誤:Uncaught異常'Doctrine \ ORM \ ORMException'與消息'EntityManager已關閉'。
類dealErrCl
use Doctrine\ORM\EntityManager;
use someNamespace\LogErr;
class dealErrCl {
private $em; //entity manager to save error to the entity
public function __construct(\Doctrine\ORM\EntityManager $em) {
$this->em = $em;
}
public function flush($errArr) {
$this->le = new LogErr();
if(isset($errArr['title'])) {
$this->le->setTitle($errArr['title']);
}
/*...*/
$this->em->persist($this->le);
$this->em->flush();
}
_someAction.php
include DbCon.php; // configures doctrine and creates $em. If i use this em in this file, it works, but if i tryt to pass it to some class constructor, it gives Fatal error.
use LogBundle\Components\ErrC\dealErrCl;
$dealErrIn = new dealErrCl($em);
如果我使用_someAction.php文件這個$ EM,它的工作原理,但如果我tryt將它傳遞給一些dealErrCl構造函數,它會給出致命錯誤。
似乎解決方案是在這裏:https://creativcoders.wordpress.com/tag/doctrineormexception-the-entitymanager-is-closed/ – olga
我的錯誤是'desc'鍵,它是保留。不應該被用作fiedl的名字。 – olga