Метод previousCursor
Метод previousCursor класса CursorPaginator возвращает объект курсора, который представляет предыдущую страницу результатов в курсорной пагинации. Курсорная пагинация использует указатели для перемещения по страницам данных, что особенно эффективно для больших наборов данных. Метод не принимает параметров и возвращает объект Cursor или null, если предыдущая страница отсутствует.
Синтаксис
<?php
$cursor = $paginator->previousCursor();
?>
Пример
Давайте получим коллекцию статей с курсорной пагинацией и выведем информацию о предыдущем курсоре:
<?php
use AppModelsArticle;
$articles = Article::cursorPaginate(10);
if ($articles->previousCursor()) {
echo "Previous cursor exists: " . $articles->previousCursor()->encode();
} else {
echo "No previous cursor";
}
?>
Результат выполнения кода:
"Previous cursor exists: eyJpZCI6MTAsIl9wb2ludHMiOns... (encoded cursor string)"
Пример
Давайте создадим ссылку на предыдущую страницу с помощью метода previousCursor:
<?php
use AppModelsArticle;
$articles = Article::cursorPaginate(10);
$previousCursor = $articles->previousCursor();
if ($previousCursor) {
$url = $articles->url($previousCursor);
echo "Previous page URL: " . $url;
} else {
echo "Previous page not available";
}
?>
Результат выполнения кода:
"Previous page URL: http://localhost/articles?cursor=eyJpZCI6MTAsIl9wb2ludHMiOns..."
Пример
Рассмотрим использование метода в Blade-шаблоне для создания навигации с предыдущей страницей:
@if ($articles->previousCursor())
<a href="{{ $articles->url($articles->previousCursor()) }}">Previous</a>
@else
<span>Previous</span>
@endif
Смотрите также
-
метод
nextCursor,
который возвращает курсор для следующей страницы данных -
метод
cursorPaginate,
который создает экземпляр курсорной пагинации -
метод
paginate,
который создает стандартную пагинацию с номерами страниц -
класс
CursorPaginator,
класс, который предоставляет методы для работы с курсорной пагинацией