有人能帮我解决这个问题吗。我有两张这样连接的桌子:
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中执行此操作?
您需要使用having
来选择所有具有1个以上着陆的拆分测试
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');