我试图在Symfony项目中编写查询,在这里我必须选择字段,在这里我随机选择日期以过滤来自db的事务数据。
public function getFilter($startDate, $finalDate)
{
$qb = new \DateTime();
$initialDate = $this->getTransactionRepository()
->createQueryBuilder('d')
->select('sum(abs(d.donationAmount))')
->where($qb->expr()->between('s.date',':initialDate',':finalDate'))
->setParameter('initialDate', $startDate)
->setParameter('finalDate', $finalDate)
->getQuery()
->getSingleScalarResult();
return $initialDate;
}
我遇到的第一个错误是
$qb->expr()作为未定义的方法。
最佳答案
为什么不这样简单地使用它:
->where('s.date BETWEEN :initialDate AND :finalDate')
我对symfony的了解是有限的,但是如果你问我的话,
DateTime
并不是一个真正的查询构建类。关于php - php查询-按日期过滤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53500884/