SQL到Doctrine的QueryBuilder转换

时间:2017-05-11 13:44:23

标签: sql join doctrine-orm dql materialized-path-pattern

我在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来实现它,但是当有连接表时我不知道怎么做。你能帮忙吗?

0 个答案:

没有答案