From 4ca904667bf2e6c040737fba99a318f72d5ff30e Mon Sep 17 00:00:00 2001 From: Josef Citrine Date: Mon, 2 May 2016 23:25:26 +0100 Subject: [PATCH] Hourly stats should only display a 24 hour period --- app/Http/Controllers/Api/Web/StatsController.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/Web/StatsController.php b/app/Http/Controllers/Api/Web/StatsController.php index 4e4d235d..1e6698f9 100644 --- a/app/Http/Controllers/Api/Web/StatsController.php +++ b/app/Http/Controllers/Api/Web/StatsController.php @@ -49,11 +49,18 @@ class StatsController extends ApiControllerBase $query = DB::select(DB::raw(" SELECT HOUR(created_at) AS `hour`, COUNT(1) AS `plays` FROM `resource_log_items` - WHERE `track_id` = :id AND `log_type` = 3 AND `created_at` > now() - INTERVAL 7 DAY + WHERE `track_id` = :id AND `log_type` = 3 AND `created_at` > now() - INTERVAL 1 DAY GROUP BY HOUR(created_at);"), array( - 'id' => $id, + 'id' => $id )); - return Response::json(['stats' => $query], 200); + $currentHour = intval(date("H")); + + foreach($query as $item) { + // Set hours to offsets of the current hour + $item->hour = $item->hour - $currentHour; + } + + return Response::json(['playsHourly' => $query], 200); } }