2017-12-30 71 views
1

많은 추가 쿼리를 피하기 위해 일부 엔티티를 가져오고 관련 컬렉션 수를 얻고 싶습니다. 이 같은Doctrine에서 가져 오기 조인과 COUNT를 결합 할 수 있습니까?

뭔가 :

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 => ...], ...] 같은 컬렉션을 싶어.

페치 조인 (SELECT u, count(p) properties_count)없이 작동하지만 SELECT u, a, count(p) properties_count과 함께 사용하면 결과에 카운트가 포함되지 않은 것처럼 보입니다.

내가 잘못 했나요?

답변

0

원래 쿼리에서 실수 한 것처럼 보입니다. 그것은 사용 된

은 다음과 같이 조인

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

내가이 일을 시작

LEFT JOIN u.address a 

이 교체합니다. (나는 그들이 그것과 같다고 생각했다)