1

根据文档

您可以添加一个全局文件并在此文件中添加多个实体。

我尝试的是:

$driver = new \Doctrine\ORM\Mapping\Driver\SimplifiedXmlDriver(array("orm-xml"));
$driver->setGlobalBasename('global');

// ...

$em->getClassMetadata('something_Application');

我有一个名为的目录orm-xml,它包含global.orm.xml文档建议的文件。当我尝试运行我的脚本时,我得到:

uncaught exception: No mapping file found named 'omething_Application.orm.xml' for class 'something_Application'.

我注意到的第一件事是错误消息吃掉了类名的第一个字符。还有一个主要问题:它试图在每个类一个 xml 的基础上读取配置,为什么它不使用我指定的全局文件?

4

1 回答 1

1

答案是示例没有显示的内容:addPaths方法:

$driver = new \Doctrine\ORM\Mapping\Driver\SimplifiedXmlDriver(array("orm-xml"));
$driver->setGlobalBasename('global');
$driver->addPaths(array("orm-xml"));

请注意,我认为构造函数的参数是为此。我仍然不知道它的真正用途是什么。

于 2012-04-21T18:41:08.560 回答