如何使用 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'),
]);
我需要设置 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'),
]);