Doctrine orm 条令查询,关联多通
我有两个实体:Doctrine orm 条令查询,关联多通,doctrine-orm,doctrine,dql,Doctrine Orm,Doctrine,Dql,我有两个实体: Class A { /** * @ORM\ManyToOne(...) */ private $b; /** * @ORM\Column(name="date", type="date") */ private $date; } Class B { /** * @ORM\OneToMany(...) */ private $a; } 需要查询get all en
Class A {
/**
* @ORM\ManyToOne(...)
*/
private $b;
/**
* @ORM\Column(name="date", type="date")
*/
private $date;
}
Class B {
/**
* @ORM\OneToMany(...)
*/
private $a;
}
需要查询get all entities B,其中您的a的所有日期都低于我设置为参数的日期
现在有这些查询,但没有结果:
从实体b中选择b:b内部联接b.a其中a.date>:日期
您可以执行以下操作:
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();
}
我在我的一些实体上进行了测试,这些实体具有类似的结构,并且它可以工作很高兴我能提供帮助!我在一个几乎相同的问题上浪费了很多时间!