我正在尝试将一天(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;
答案 0 :(得分:0)
谢谢大家重播。
我是这样做的:
->where("DATE(p.transactionDate) >= DATE_SUB(CURRENT_DATE(), 24, 'hour')")