Так что у меня есть диаграмма, которая выглядит это:
Когда я считаю все с дня , нет проблем, он возвращает правильные значения. Но когда я пытаюсь получить подсчет посещений каждой недели, месяца или года, он возвращает совершенно неправильные числа. />
Код: Выделить всё
public function getVisitors()
{
$begin = Carbon::now()->startOfMonth();
$end = Carbon::now()->endOfMonth();
$stats = DB::table('tracker_sessions')
->whereRaw("created_at between '$begin' and '$end'")
->where('is_robot', '=', 0)
->groupBy(DB::raw('DATE_FORMAT(created_at,"%d-%m-%Y")'))
->orderBy(DB::raw('DATE_FORMAT(created_at,"%d-%m-%Y")'))
->get([
DB::raw('DATE_FORMAT(created_at,"%d-%m-%Y") as y'),
DB::raw('COUNT(DISTINCT client_ip) as b')
]
);
return $stats;
}
< /code>
И вот как я получаю все к неделе: < /p>
public static function getVisitorsThisWeek()
{
$begin = Carbon::now()->startOfWeek();
$end = Carbon::now()->endOfWeek();
$stats = DB::table('tracker_sessions')
->whereRaw("created_at between '$begin' and '$end'")
->where('is_robot', '=', 0)
->count(DB::raw('DISTINCT client_ip'));
return $stats;
}
Я делаю то же самое для месяца и года, за исключением того, что меняю Carbon::now()->startOfWeek(); на Год
Я делаю то же самое для месяца и года, но затем меняю Carbon::now()->startOfWeek(); на Год
code> или Month типа Carbon.
Я правда не знаю, что я сейчас делаю не так? Я уже пытался добавить groupBy и orderBy или переключить их и т. д., но заметки, похоже, работают. Надеюсь, кто-нибудь сможет мне помочь с этим.
Подробнее здесь: https://stackoverflow.com/questions/389 ... ect-visits
Мобильная версия