У меня есть команда 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 и почему есть разница между двумя результатами. Не могли бы вы рассказать мне, как заставить это соединение работать в Doctrine?