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