【发布时间】:2014-03-25 13:13:59
【问题描述】:
运行良好的 SQL 是:
SELECT ro.id_role
,rr.id_role_resource
,re.id_resource
FROM resource re
LEFT JOIN role_resource rr
ON rr.resource_id = re.id_resource
LEFT JOIN role ro
ON ro.id_role = rr.role_id
现在我必须写 DQL- 这是表shema:
角色:id_role, name
角色资源:id_role_resource, role_id, resource_id, permission
资源:id_resource, controller,action ...
在最后一个表中,表role_resource中没有对应的记录。 这就是为什么我需要在 DQL 中使用这个左连接查询。
【问题讨论】:
-
您使用哪些注释将此架构映射到实体?
-
嗯,到目前为止你有什么,为什么它不起作用?请注意,我更喜欢
LEFT JOIN (a JOIN b ON ...) ON ...,而不是在普通 SQL 中链接LEFT JOINs(这可以使某些查询中返回的行的推理变得有趣)
标签: sql doctrine-orm