Я пытаюсь составить повестку дня, и мне нужно разбить страницы на страницы, начиная с сегодняшнего дня. Но мне нужно иметь возможность загружать и предыдущие события.
Пример событий
--------------------------------------------------
| id | title | starts_at | ends_at |
--------------------------------------------------
| 1 | past event | 2019-12-01 | 2019-12-02 |
--------------------------------------------------
| 2 | current event | 2020-02-01 | 2020-02-28 |
--------------------------------------------------
| 3 | future event | 2022-04-02 | 2022-04-04 |
--------------------------------------------------
Я хочу получить текущие / будущие N событий как сегодняшнюю дату 2020-02-06
.
Как результат я хочу:
- Результат разбивки на страницы с только
current event
и future event
в коллекции. - Для нумерации нумерации
previousPageUrl()
должно быть установлено page=1
и только return past event
Сейчас я попробовал это, но оно выиграло не работает, поскольку нумерация страниц работает с самого начала записей. Мне нужна нумерация страниц, которая работает с «середины» записей
$perPage = 5;
$offset = Event::query()->where('ends_at', '<', today())->count();
$page = ceil($offset / $perPage);
Event::query()->orderBy('starts_at')->paginate($perPage, $columns = ['*'], $pageName = 'page', $page);