Doctrine2 - 3表关系 - 选择

时间:2011-07-22 01:52:40

标签: php sql doctrine-orm

我的关系看起来像这样:

类别< ===主机< ===>用户

基本上,用户 - 主机是一种多对多关系,每个主机都有一个类别(一对多)。

不知何故,我需要列出用户拥有的类别。例如:

从主机拥有用户的类别中选择类别== MyUser。

到目前为止,我只能列出用户拥有的主机以及主机的类别。使用普通的SQL我需要2个连接,但是无法找到使用Doctrine 2的方法。我已经整天使用QueryBuilder进行游戏,但我还没有接近。

有关此的任何提示吗?

1 个答案:

答案 0 :(得分:1)

DQL:

SELECT c
FROM Entity\User u
INNER JOIN u.hosts h
INNER JOIN h.category c
WHERE u.id = :user

这应该可以解决问题。