我在Room和Rights实体之间有很多关系。 Doctrine自动创建了第三个“room_rights”表。权利是分层的,我使用Materialized Path方法将它们存储在DB中,因此“权限”表具有“路径”字段。
我想让拥有权利的房间就像我提供的那样。我可以用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来实现它,但是当有连接表时我不知道怎么做。你能帮忙吗?