嘿,我有一个关于querybuilder的问题。
我在EntityRepository中
这段代码查找from和to之间的所有
public function getBySpan($from,$to)
{
$from = new DateTime($from->format("Y-m-d")." 00:00:00");
$to = new DateTime($to->format("Y-m-d")." 23:30:00");
$qb = $this->createQueryBuilder("e");
$qb
->andWhere('e.date BETWEEN :from AND :to')
->setParameter('from', $from )
->setParameter('to', $to)
;
$result = $qb->getQuery()->getResult();
return $result;
}
我试图存档的是找到所有在e.from和e.to之间的$date
public function getByDate($date)
{
$date = new DateTime($date->format("Y-m-d")." 00:05:50");
$qb = $this->createQueryBuilder("e");
$qb
/* HOW TO PUT THIS LINE TO WORK ? */
->andWhere(':date BETWEEN e.from AND e.to')
->setParameter('date', $date)
;
$result = $qb->getQuery()->getResult();
return $result;
}
如有任何帮助,请提前感谢
我不太熟悉这个查询生成器但你可以尝试这样做
->andWhere('e.from <= :date')
->andWhere('e.to >= :date')
->setParameter('date', $date);
这和你想要达到的效果差不多