Laravel - количество запросов за последние 7 дней - PullRequest
0 голосов
/ 10 октября 2018

У меня есть таблица доступа пользователей, и я хочу сделать запрос, который возвращает мне номер доступа по дате.

Моя таблица имеет следующие столбцы:

id
type -> int
id_user -> int
created_at -> datetime

Записи моей базы данных:enter image description here

Я пытаюсь выполнить этот запрос:

    $admin = userAccess::distinct()
                  ->select(DB::raw('count(*) as total ') , DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d")'), DB::raw('DAYNAME(created_at) as dia'))
                  ->where('created_at', '>=', DB::raw('DATE(NOW()) - INTERVAL 7 DAY'))
                  ->where('type', 1)
                  ->groupBy('created_at')
                  ->limit(7)
                  ->get();

С помощью этого запроса он возвращает мне:

Monday(2018-10-08) -> 1
Tuesday(2018-10-09) -> 1

Ирезультат, который я хочу получить:

Monday(2018-10-08) -> 3
Tuesday(2018-10-09) -> 1

Что я делаю не так?

Спасибо

1 Ответ

0 голосов
/ 10 октября 2018

попробуйте выполнить следующее, вы должны сгруппировать по дате, например: «2018-10-08», а не отметка времени

$admin = userAccess::distinct()
                  ->select(DB::raw('count(*) as total ') , DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d") as created_date '), DB::raw('DAYNAME(created_at) as dia'))
                  ->where('created_at', '>=', DB::raw('DATE(NOW()) - INTERVAL 7 DAY'))
                  ->where('type', 1)
                  ->groupBy('created_date')
                  ->limit(7)
                  ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...