0
我試圖從EntityManager
的實例中檢索我的Doctrine
實體的名稱空間。從EntityManager中檢索實體名稱空間
我可以設置命名空間如下:
$em = EntityManager::create($connectionOptions, $config);
$sm = $em->getConnection()->getSchemaManager();
$driver = new \Doctrine\ORM\Mapping\Driver\DatabaseDriver($sm);
$driver->setNamespace('My\Entities');
$em->getConfiguration()->setMetadataDriverImpl($driver);
但是我無法恢復:
$em->getConfiguration()->getMetadataDriverImpl()->getNamespace();
PHP Fatal error: Call to undefined method Doctrine\ORM\Mapping\Driver\DatabaseDriver::getNamespace()
如果我搜索Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
我可以看到setNamespace()
但不getNamespace()
,和namespace
屬性是私人的:(
如何從EntityManager的實例中檢索我的Doctrine實體的命名空間?
想要添加一些註釋嗎?也許是正確的答案,但添加一些評論將幫助OP和其他人更好地理解你的答案。 – Yaroslav
嗯,該方法是存在的,但我得到一個'PHP通知:未定義的索引:Doctrine/ORM/Configuration.php中的199號行消息中的entityNamespaces。有一個'getEntityNamespace($ namespaceAlias)'方法,但它需要一個別名,如果我不提供它會失敗...... – Max