Метод nextCursor
Метод nextCursor применяется к экземпляру
класса CursorPaginator и возвращает объект
курсора для следующей страницы данных. Если следующая
страница отсутствует, метод возвращает null.
Этот метод полезен при создании кастомных элементов
навигации или при работе с курсорами в API-ответах.
Синтаксис
<?php
$cursor = $paginator->nextCursor();
?>
Пример
Давайте получим курсор следующей страницы
для списка статей, отсортированных по id:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index(Request $request)
{
$articles = Article::cursorPaginate(10);
$nextCursor = $articles->nextCursor();
echo "Next cursor: " . ($nextCursor ? $nextCursor->encode() : 'null');
}
}
?>
Результат выполнения кода:
"Next cursor: eyJpZCI6MTAsIl9wb2ludHMiOnRydWV9"
Пример
Давайте проверим наличие следующей страницы и выведем соответствующие сообщение:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index(Request $request)
{
$articles = Article::cursorPaginate(10);
if ($articles->nextCursor()) {
echo "There is a next page";
} else {
echo "This is the last page";
}
}
}
?>
Результат выполнения кода:
"There is a next page"
Пример
Давайте получим закодированную строку курсора для передачи в URL API-запроса:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index(Request $request)
{
$articles = Article::cursorPaginate(10);
$nextCursor = $articles->nextCursor();
if ($nextCursor) {
$cursorString = $nextCursor->encode();
$nextPageUrl = $request->url() . '?cursor=' . $cursorString;
echo $nextPageUrl;
}
}
}
?>
Результат выполнения кода:
"http://example.com/articles?cursor=eyJpZCI6MTAsIl9wb2ludHMiOnRydWV9"
Смотрите также
-
метод
cursorPaginate,
который создает экземпляр курсорного пагинатора -
метод
previousCursor,
который возвращает курсор предыдущей страницы -
класс
CursorPaginator,
который представляет результаты с курсорной пагинацией -
метод
simplePaginate,
который возвращает простой пагинатор без ссылок на страницы