【问题标题】:How to fetch data one line per each 15 minutes from the last 24 hour in Laravel 5.8?如何在 Laravel 5.8 的最后 24 小时内每 15 分钟获取一行数据?
【发布时间】:2020-02-04 00:00:19
【问题描述】:

我正在尝试获取我正在构建的图表的过去 24 小时的日志。 我正在使用 Laravel 5.8

每 15 分钟需要 1 条线才能使图表准确。

目前的状态是每小时一条线,我想不出把它变成15分钟。

请帮助我让它工作并让代码看起来尽可能漂亮!

public function getDataDay(&$data) {
    $data = $data->where('created_at', '>', Carbon::now()->subHours(23)->format('Y-m-d H:i:s'))
                  ->select('id', 'part_id', 'data', 'created_at')
                  ->selectRaw('HOUR(created_at) as hour')
                  ->groupBy('hour')
                  ->get();
}

【问题讨论】:

标签: php mysql laravel setinterval laravel-5.8


【解决方案1】:

使用这个,这是我在mysql中使用的

->selectRaw('FROM_UNIXTIME(FLOOR( UNIX_TIMESTAMP(created_at)/900 ) * 900) AS quaterhour')
->groupBy('quaterhour')

当然,如果你有超过一天的泥潭,你还必须按年、月和日分组

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2018-07-05
    • 2023-03-21
    • 2022-01-11
    • 1970-01-01
    • 2022-09-30
    • 2016-07-27
    • 1970-01-01
    • 2022-11-13
    相关资源
    最近更新 更多