php查询-按日期过滤

时间:2018-11-27 13:32:08

标签: php mysql symfony dql

我正在尝试在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()作为未定义的方法。

1 个答案:

答案 0 :(得分:1)

为什么不像这样简单地使用它:

        ->where('s.date BETWEEN :initialDate AND :finalDate')

我对symfony的了解有限,但如果您问DateTime,它实际上不是查询构建类。