php 查询 - 按日期过滤

php query - Filter per date

我正在尝试在我的 Symfony 项目中编写查询,我必须在 select 字段中 运行domly 选择日期来过滤 t运行saction 数据形成数据库。

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() as undefined method.

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

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

我对 symfony 的了解有限,但如果你问我,DateTime 并不是真正的查询构建class。