我正在尝试从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致命错误:调用未定义的方法 教义\ ORM \映射\驱动\ DATABASEDRIVER :: getNamespace()
如果我搜索Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
,我可以看到setNamespace()
但不会getNamespace()
,而namespace
属性是私有的:(
如何从EntityManager的实例中检索我的Doctrine实体的命名空间?
答案 0 :(得分:0)
$em->getConfiguration()->getEntityNamespaces();