Как получить данные по одной строке за каждые 15 минут из последних 24 часов в Laravel 5.8? - PullRequest
3 голосов
/ 06 октября 2019

Я пытаюсь получить журналы за последние 24 часа для графика, который я строю. Я использую Laravel 5.8 .

Мне нужна 1 строка каждые 15 минут , чтобы график был точным.

Текущее состояниеодна строка в час, я не могу придумать, чтобы превратить его в 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();
}

1 Ответ

0 голосов
/ 06 октября 2019

используйте это, это то, что я использую в mysql

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

Конечно, если у вас больше одного дня, вы должны группировать также по годам, месяцам и дням

...