相关的 Doctrine 查询构建器计数
Doctrine Query builder count of related
假设我有一个具有双向关系的典型论坛设置(posts、评论、用户)
来自我的 post 存储库的片段
Builder('post')
->innerJoin('post.user', 'user')
->addSelect('user')
//->innerJoin('post.comment', 'comment')
->setMaxResults(25)
这就是我的。我将结果传递给 Symfony 3 中的 twig。我可以使用 post.user 和其他相关的 post 字段。
我需要能够获得总数 replies/comments 和最近评论的日期。
我可以在 SQL 中完成,但我正在努力使用查询生成器。
我不反对只使用 sql/dql,但如果我总是回退到 sql,我将永远无法正确掌握构建器。
因为我是个新手,所以即使 google 指点我可能会有所帮助,因为我的 google fu 让我失望了。
试试这个方法:
$count = $this->createQueryBuilder('p')
->join('p.comments', 'c')
->select('count(c.id)')
->getQuery()
->getSingleScalarResult();
原来这不是查询生成器的用例。我最终写了 dql 来完成它。
假设我有一个具有双向关系的典型论坛设置(posts、评论、用户)
来自我的 post 存储库的片段
Builder('post')
->innerJoin('post.user', 'user')
->addSelect('user')
//->innerJoin('post.comment', 'comment')
->setMaxResults(25)
这就是我的。我将结果传递给 Symfony 3 中的 twig。我可以使用 post.user 和其他相关的 post 字段。
我需要能够获得总数 replies/comments 和最近评论的日期。
我可以在 SQL 中完成,但我正在努力使用查询生成器。 我不反对只使用 sql/dql,但如果我总是回退到 sql,我将永远无法正确掌握构建器。
因为我是个新手,所以即使 google 指点我可能会有所帮助,因为我的 google fu 让我失望了。
试试这个方法:
$count = $this->createQueryBuilder('p')
->join('p.comments', 'c')
->select('count(c.id)')
->getQuery()
->getSingleScalarResult();
原来这不是查询生成器的用例。我最终写了 dql 来完成它。