我有一个 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 中工作吗?