一日期间的总金额

时间:2019-06-14 09:09:47

标签: php doctrine-orm query-builder symfony-3.4

我正在尝试将一天(24小时)内的用户付款总额相加。

即使日期距离24小时范围很远,我的查询也会返回所有结果。

该如何解决?

resultDaily = $this->getPayRepository()
        ->createQueryBuilder('p')
        ->select('sum(p.amount) Total')
        ->where('p.date >= :end')
        ->andWhere('p.user = :user')
        ->setParameter('end', new \DateTime('-1 day'))
        ->setParameter('user', $user)
        ->getQuery()
        ->getArrayResult();

我修改了代码。看起来更干净,但结果相同。

编辑:

$resultDaily = $this->getPayRepository()
        ->createQueryBuilder('p')
        ->select('sum(p.amount) Total')
        ->where("DATE_ADD(p.date, 24,'hour') >= CURRENT_TIMESTAMP()")
        ->andWhere('p.user = :user')
        ->setParameter('user', $user)
        ->getQuery()
        ->getArrayResult();

    return $resultDaily;

1 个答案:

答案 0 :(得分:0)

谢谢大家重播。

我是这样做的:

->where("DATE(p.transactionDate) >= DATE_SUB(CURRENT_DATE(), 24, 'hour')")