是否可以在 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
它开始工作了。 (我以为他们是等价的)
我想获取加入一些实体以避免大量额外的查询,我还想获取相关集合的计数。
像这样:
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
它开始工作了。 (我以为他们是等价的)