Я не знаю, что не так с моим запросом, но счет явно неправильный, он продолжал отображаться как 1912
, когда мои общие записи 12363
изменить эту строку в моем случае по умолчанию
$q = Visitor::where('created_at', '<', now());
к
$q = Visitor::all(); but I got error;
Method Illuminate\Database\Eloquent\Collection::orderBy does not exist.
switch ($interval) {
case 'day':
$q = Visitor::where('created_at', '>', now()->today());
break;
case 'week':
$q = Visitor::where('created_at', '>', now()->subWeek());
break;
case 'month':
$q = Visitor::where('created_at', '>', now()->subMonth());
break;
case 'year':
$q = Visitor::where('created_at', '>', now()->subYear());
break;
case 'last':
$q = Visitor::where('created_at', '>', $last);
break;
default:
$q = Visitor::where('created_at', '<', now());
break;
}
$visitors = $q->orderBy('created_at', 'desc')->paginate(15);
http://app.test/visitor?interval=год
Я получил 1912
- правильно ??
http://приложение.тест/посетитель
Получил 1912
- неверно ❌, Должен запросить все, так как интервал не указан.
Если я сделаю :
dd(count(Visitor::all()));
Я получил 12363
, так что это должно быть правильное значение.
Может быть, вы можете использовать ->whereDate('created_at', now())
, с ->whereTime('created_at', '00:00:00')
, если вам нужно
$q = Visitor::all();
возвращает Illuminate\Database\Eloquent\Collection
.
Вызов $visitors = $q->orderBy('created_at', 'desc')->paginate(15);
вызовет ->orderBy(...)
для Eloquent Collection, для которой этот метод не существует в этом классе.
Вместо:
$q = Visitor::where('created_at', '<', now()); ❌
Использовать это:
$q = Visitor::query(); ✅
Позвольте мне попробовать... спасибо.
все еще получаю тот же результат, что и мой год ..
Не работает, подтверждено, извините.
@ code-8 Я считаю, что это больше связано с вашим набором данных, чем с рассматриваемым запросом. Вы выполнили подсчет на нем?
Я это сделал, посмотрите, как мой dd(count(Visitor::all()));
показывает правильный счет 12363
, и я показал это в левом меню навигации на изображении;
Ты прав!!! Я отфильтровываю код ниже; ваш ответ идеален;
Теперь я вижу правильный счет;
@code-8 Я рад, что это сработало для вас!??
Как сейчас написано, ваш ответ неясен. Пожалуйста, редактировать, чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре.