各記事のコメント数を取得するための最適化された方法を見つけようとしています
記事とコメントの 2 つのエンティティがあります。
コメント エンティティには次のフィールドがあります。
/**
* @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 をエンティティに使用することを考えていたように、サービスがエンティティではなくコントローラー側で使用されていることがわかりましたが、それは私が考える最良の方法ではありません。
それぞれが何百万ものコメントを持つ何百万もの記事について話しているので、最適化されたソリューションを探しています。