Symfony 条令查询生成器相关数据的计数

Symfony 条令查询生成器相关数据的计数,symfony,doctrine,query-builder,Symfony,Doctrine,Query Builder,假设我有一个典型的论坛设置(帖子、评论、用户),具有双向关系 我的帖子库中的代码片段 Builder('post') ->innerJoin('post.user', 'user') ->addSelect('user') //->innerJoin('post.comment', 'comment') ->setMaxResults(25) 这就是我所拥有的。我正在把结果传

假设我有一个典型的论坛设置(帖子、评论、用户),具有双向关系

我的帖子库中的代码片段

Builder('post')
            ->innerJoin('post.user', 'user')
            ->addSelect('user')
            //->innerJoin('post.comment', 'comment')
            ->setMaxResults(25)
这就是我所拥有的。我正在把结果传给Symfony 3中的twig。我可以使用post.user和其他相关的post字段

我需要能够得到总的答复/评论和最新评论的日期

我可以用SQL来做,但我正在努力使用查询生成器。 我并不反对只使用sql/dql,但如果我总是使用sql,我将永远无法很好地掌握构建器

因为我是一个新手,我的谷歌fu让我失望,所以我甚至可以向谷歌指点什么来帮助我。

试着这样做:

$count = $this->createQueryBuilder('p')
            ->join('p.comments', 'c')
            ->select('count(c.id)')
            ->getQuery()
            ->getSingleScalarResult();

事实证明,这不是查询生成器的用例。我最终写了dql来完成它。

我的道歉我的帖子措辞不够精确。拥有所有评论的总数并不是我想要做的。这是每个帖子的总评论数。在sql中,我只需将我的帖子表加入到一个子查询中,该子查询会从评论中添加一个计数和一个最大(日期),结果将包含我需要的关于帖子的所有信息、回复数和最近的帖子。好的,找到你了。好吧,我建议你在不同的问题上分开。因为我很确定使用查询生成器是不可能的。否则,如果您不想这样做,就使用本机sql。