有人可以帮我解决这个问题。 我有两张表连接如下:
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;
}
现在我想选择所有具有多个着陆的拆分测试。我怎样才能在DQL中执行此操作?
答案 0 :(得分:1)
您需要使用having
选择所有具有超过1次着陆的splittest
SELECT s
FROM MyBundle\Entity\Splittest
JOIN s.landings l
HAVING COUNT(l) > 1
使用查询构建器
$qb->select("s")
->from('MyBundle\Entity\Splittest', 's')
->innerJoin('s.landings', 'l')
->having('count(l) > 1');