Как я могу запросить все, упорядочить и разбить на страницы?

Как я могу запросить все, упорядочить и разбить на страницы?

Я не знаю, что не так с моим запросом, но счет явно неправильный, он продолжал отображаться как 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, так что это должно быть правильное значение.

Пожалуйста, дайте мне знать, если вы заметите, что я пропустил

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Может быть, вы можете использовать ->whereDate('created_at', now()), с ->whereTime('created_at', '00:00:00'), если вам нужно

Как сейчас написано, ваш ответ неясен. Пожалуйста, редактировать, чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре.

Community 17.03.2022 03:04
Ответ принят как подходящий

$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 17.03.2022 00:03

все еще получаю тот же результат, что и мой год ..

code-8 17.03.2022 00:04

Не работает, подтверждено, извините.

code-8 17.03.2022 00:05

@ code-8 Я считаю, что это больше связано с вашим набором данных, чем с рассматриваемым запросом. Вы выполнили подсчет на нем?

steven7mwesigwa 17.03.2022 00:07

Я это сделал, посмотрите, как мой dd(count(Visitor::all())); показывает правильный счет 12363, и я показал это в левом меню навигации на изображении;

code-8 17.03.2022 00:08

Ты прав!!! Я отфильтровываю код ниже; ваш ответ идеален;

code-8 17.03.2022 00:10

Теперь я вижу правильный счет;

code-8 17.03.2022 00:10

@code-8 Я рад, что это сработало для вас!??

steven7mwesigwa 17.03.2022 00:11

Другие вопросы по теме