我是Doctrine2的新手,想知道我如何告诉Doctrine我的实体使用哪个命名空间。 我当前的配置is this。
我的所有实体都在命名空间“project \ entity”中。 所以,每次我想获得实体“颜色”,我都要写:
$em->getRepository("project\\entity\\Color")
如何配置Doctrine以始终使用命名空间“project \ entity”?
答案 0 :(得分:8)
您可以通过在配置对象上使用addEntityNamespace创建命名空间别名来接近您想要的内容:
$em->getConfiguration()->addEntityNamespace('NS1', 'Project\Entity');
$colorRepo = $em->getRepository('NS1:Color');
也适用于查询。
顺便说一下,"project\\entity\\Color"
也可以写为'project\entity\Color'
。我还建议将项目和实体资本化以符合标准。