我试图在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/

10-10 10:33