是否可以在 Doctrine 中结合 fetch joins 和 COUNT?

Is it possible to combine fetch joins and COUNT in Doctrine?

我想获取加入一些实体以避免大量额外的查询,我还想获取相关集合的计数。

像这样:

SELECT u, a, count(p) properties_count
FROM User u
JOIN u.address a
LEFT JOIN u.properties p 
group by u.id

也就是我想得到一个像[[0 => User, 'properties_count' => 42], [0 => ...], ...]这样的合集。

它在没有 fetch join (SELECT u, count(p) properties_count) 的情况下工作,但在 SELECT u, a, count(p) properties_count 中似乎不包括计数 结果。

我是不是做错了什么?

看起来这只是原始查询中的一个错误。

它正在使用这样的连接:

LEFT JOIN Address a WITH a.id = u.address

当我将其替换为

LEFT JOIN u.address a

它开始工作了。 (我以为他们是等价的)