2014-09-26 88 views
2

有人可以幫我解決這個問題。 我有兩個表中加入這樣的:計算多對多的關係項目原理,Symfony2

class Splittest { 
    /** 
* @ORM\ManyToMany(targetEntity="Landing") 
* @ORM\JoinTable(name="splittest_landings", 
*  joinColumns={@ORM\JoinColumn(name="splittest_id", referencedColumnName="id")}, 
*  inverseJoinColumns={@ORM\JoinColumn(name="landing_id", referencedColumnName="id")} 
*  ) 
**/ 
protected $landings; 
} 

現在,我要選擇一個以上的登陸所有splittests。我如何在DQL中做到這一點?

回答

1

你需要使用having使用查詢生成器

$qb->select("s") 
    ->from('MyBundle\Entity\Splittest', 's') 
    ->innerJoin('s.landings', 'l') 
    ->having('count(l) > 1'); 
+1

非常感謝選擇具有超過1個着陸

SELECT s FROM MyBundle\Entity\Splittest JOIN s.landings l HAVING COUNT(l) > 1 

同所有splittest .... – 2016-06-22 18:28:39