我有两个实体:
Class A {
/**
* @ORM\ManyToOne(...)
*/
private $b;
/**
* @ORM\Column(name="date", type="date")
*/
private $date;
}
Class B {
/**
* @ORM\OneToMany(...)
*/
private $a;
}
需要查询以获取您所有“A”的所有实体“B”,并将所有日期“日期”设置为我设置为参数的日期。
现在有这些查询,但没有结果:
“SELECT b FROM Entity:B b INNER JOIN b.a a WHERE a.date>:date”
答案 0 :(得分:0)
您可以执行以下操作:
public function myfunction($date){
$dql = "SELECT b FROM Entity:B as b WHERE b.a IN (".
"SELECT a.id FROM Entity:A as a WHERE a.date > :date".
")";
$query = $this->getEntityManager()
->createQuery($dql)
->setParameter('date', $date)
;
return $query->getResult();
}
我测试了一些结构相似的实体