我想計算給定特定文章的標籤數量。我有兩個實體(條,標籤),它是由許多-to-many關聯關係:如何使用DQL計算Symfony2中的多對多關係
//Bundle/Entity/Article.php
/**
* @ORM\ManyToMany(targetEntity="Tag")
*/
private $tags;
現在,我已經有了N個物品有m個標籤,我想知道如何往往是一個特定的標籤已被使用。
我對Symfony2和Doctrine都比較陌生。問題是,我不知道在哪裏適合這樣的查詢(我想它應該駐留在ArticleRepository中,但另一方面,它在TagRepository中是有意義的)以及如何加入正確的表(在此案例文章,article_tag,標籤)。
我其實發現了一個小問題。您提取標籤的方式會產生很多SQL請求。這個查詢效果更好,但我不確定它是否真的是「Doctrine Style」:'$ results = $ this-> getDoctrine() - > getEntityManager() - > createQuery('SELECT t.title,COUNT(t.id )FROM TridexTribloxBundle:Tag t JOIN t.articles b GROUP BY t.id') - > getResult();' – schneida