Первый пользователь не получен, потому что экземпляр углерода created_at
не совпадает с date('d')
Измените код, чтобы использовать вместо него today () помощник
$most_purchased_day = (int)Data::select('type')
->whereDate('created_at', '=', today())
->groupBy('type')
->orderByRaw('COUNT(*) DESC')
->first()->network_id;
Предполагается, чтоСозданная сегодня модель Eloquent
App\Data {
id: 1,
created_at: "2019-09-22 13:15:19",
updated_at: "2019-09-22 13:15:19",
}
date('d')
возвращает только целое число, которое является номером дня в текущем месяце (22) и не может соответствовать 2019-09-22 13:15:19
см. PHP: дата
Если вы хотите получить записи, созданные в любой день, который является номером текущего дня независимо от месяца и года
используйте whereDay
$most_purchased_day = (int)Data::select('type')
->whereDay('created_at', '=', date('d'))
->groupBy('type')
->orderByRaw('COUNT(*) DESC')
->first()->network_id;
From Laravel Docs
whereDate / whereMonth / whereDay / whereYear / whereTime
Метод whereDay
может использоваться для сравнения столбцовзначение по отношению к определенному дню месяца:
$users = DB::table('users')
->whereDay('created_at', '31')
->get();