我在 Room 和 Rights 实体之间有 ManyToMany 关系。Doctrine 自动创建了第三个“room_rights”表。权限是分层的,我使用物化路径方法将它们存储在数据库中,因此“权限”表具有“路径”字段。
我想获得具有路径的房间,就像我作为参数提供的路径一样。我可以用 SQL 查询来做到这一点:
select ro.*
from
rooms as ro,
room_rights as rr,
rights as ri
where
rr.rights_id = ri.id and
rr.room_id = ro.id and
(
ri.path like '99,%' OR
ri.path like '100,102,%'
)
这在我在数据库上运行时有效。现在,我必须使用 Doctrine 的 QueryBuilder 来制作它,但是当有连接表时我不知道该怎么做。你能帮忙吗?