php查询-按日期筛选

wtlkbnrh  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(407)

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

57hvy0tb

57hvy0tb1#

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

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

我对symfony的了解有限,但是 DateTime 不是真正的查询构建类。

相关问题