从EntityManager中检索实体名称空间

时间:2012-10-16 20:00:01

标签: php doctrine-orm

我正在尝试从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实体的命名空间?

1 个答案:

答案 0 :(得分:0)

$em->getConfiguration()->getEntityNamespaces();