2017-12-30 58 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 

にこれを交換した場合。 (私は彼らが同等だったと思った)

関連する問題