如何使用 DQL 在 symfony 中获取过去 24 小时的数据值 sum()?

How to get my data values sum() from past 24 hours in symfony using DQL?

我需要设置 CronJob 并进行计算, 如何到达 24 小时前的时间戳?

  $queryBuilder->where($queryBuilder->expr()->gte('ema.date','data24ago'))
        ->setParameters(['member' => $member,
            'date24ago' => (new \Datetime)->getTimestamp() - 24 * 3600
            ]);

有没有更好的方法?

您可以使用 Carbon (http://carbon.nesbot.com),它是扩展标准 PHP \Datetime 对象的 PHP 库。

那你就可以用

$queryBuilder
    ->where($queryBuilder->expr()->gte('ema.date','data24ago'))
    ->setParameters([
        'member' => $member,
        'date24ago' => Carbon::parse('-24 hours')->getTimestamp() // or -1 day
    ]);

如果你想通过PHP设置,请简单地尝试:

 $queryBuilder->where($queryBuilder->expr()->gte('ema.date','data24ago'))
        ->setParameters(['member' => $member,
            'date24ago' => new \Datetime('yesterday'),
            ]);