Doctrine2实体命名空间

时间:2013-12-03 10:25:04

标签: configuration doctrine-orm namespaces annotations entity

我是Doctrine2的新手,想知道我如何告诉Doctrine我的实体使用哪个命名空间。 我当前的配置is this

我的所有实体都在命名空间“project \ entity”中。 所以,每次我想获得实体“颜色”,我都要写:

$em->getRepository("project\\entity\\Color")

如何配置Doctrine以始终使用命名空间“project \ entity”?

1 个答案:

答案 0 :(得分:8)

您可以通过在配置对象上使用addEntityNamespace创建命名空间别名来接近您想要的内容:

$em->getConfiguration()->addEntityNamespace('NS1', 'Project\Entity');

$colorRepo = $em->getRepository('NS1:Color');

也适用于查询。

顺便说一下,"project\\entity\\Color"也可以写为'project\entity\Color'。我还建议将项目和实体资本化以符合标准。