MySQLコマンドを使用していますが、DQLで同等のコマンドを見つけることができません。コメントの多い投稿のリストを取得しようとしています。これがMySQLコマンドです:
SELECT posts.id, COUNT(comments.id) AS num
FROM posts
LEFT JOIN comments ON ( posts.id = comments.post_id )
GROUP BY posts.id
結果は次のとおりです。
id num
1 8
2 9
3 17
4 7
5 6
6 20
7 7
8 10
9 14
10 7
DQLでは、次のようになります。
SELECT post, COUNT(comment.id) AS num
FROM Entity\Post post
LEFT JOIN post.comments comment
GROUP BY post.id
しかし、これは与えます:
id num
1 50
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
50がどこから来たのか、なぜ2つの結果に違いがあるのかわかりません。この参加をDoctrineで機能させる方法を教えてください。