我正在尝试找到最佳优化方式来计算每篇文章的评论数
我有两个实体:文章和评论
评论实体有一个字段:
/**
* @ORM\ManyToOne(targetEntity="Easylist\ListmanagerBundle\Entity\Comment")
* @ORM\JoinColumn(nullable=false)
*/
private $comment;
所以在我的控制器中,我想获取所有文章:
$em = $this->getDoctrine()->getEntityManager()
$rep = $em->getRepository('ListmanagerBundle:Article');
$all_Article = $rep->findAll();
我希望在此查询的结果中包含一个包含评论计数的字段,如下所示:
array(
"id" => "1",
"Title" => "Just a test",
"nbr_coms" => "320"
)
我想使用服务,但我发现它在控制器端使用的服务不是实体,就像我想在我的实体中使用 EntityManager 一样,但这不是我认为的最佳方式。
我正在寻找一个优化的解决方案,因为我们正在谈论一篇数百万篇文章,每篇文章都有数百万条评论。