РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
894 of 1392 menu

Метод onLastPage

Метод onLastPage класса LengthAwarePaginator позволяет определить, находится ли пользователь на последней странице пагинированного набора данных. Метод не принимает параметров и возвращает булево значение. Это полезно для условного отображения элементов интерфейса, например, для скрытия кнопки "Следующая страница" или отображения сообщения о достижении конца списка.

Синтаксис

<?php $paginator->onLastPage(); ?>

Пример использования в контроллере

Рассмотрим пример, где мы получаем пагинированные статьи и проверяем, находится ли текущая страница на последней:

<?php namespace AppHttpControllers; use AppModelsArticle; use IlluminateHttpRequest; class ArticleController extends Controller { public function index(Request $request) { $articles = Article::paginate(10); $isLastPage = $articles->onLastPage(); return view('articles.index', [ 'articles' => $articles, 'isLastPage' => $isLastPage, ]); } } ?>

Пример в Blade-шаблоне

Давайте используем метод onLastPage в Blade-шаблоне для условного отображения кнопок навигации:

<div> @if ($articles->onFirstPage()) <span>Первая страница</span> @else <a href="{{ $articles->previousPageUrl() }}">Назад</a> @endif @if ($articles->onLastPage()) <span>Последняя страница</span> @else <a href="{{ $articles->nextPageUrl() }}">Вперед</a> @endif </div>

Пример проверки в контроллере

Используем метод для логики в контроллере:

<?php namespace AppHttpControllers; use AppModelsArticle; use IlluminateHttpRequest; class ArticleController extends Controller { public function index(Request $request) { $articles = Article::paginate(5); if ($articles->onLastPage()) { $message = 'Вы на последней странице'; $res = ['status' => 'last_page', 'message' => $message]; } else { $res = ['status' => 'not_last', 'message' => 'Есть еще страницы']; } return view('articles.index', [ 'articles' => $articles, 'res' => $res, ]); } } ?>

Пример с постраничной навигацией

Создадим более сложный пример навигации с использованием метода onLastPage:

<div> <p>Текущая страница: {{ $articles->currentPage() }}</p> <p>Всего страниц: {{ $articles->lastPage() }}</p> @if ($articles->onFirstPage()) <span>Первая страница</span> @else <a href="{{ $articles->previousPageUrl() }}">Предыдущая</a> @endif @foreach ($articles->getUrlRange(1, $articles->lastPage()) as $page => $url) @if ($page == $articles->currentPage()) <span>{{ $page }}</span> @else <a href="{{ $url }}">{{ $page }}</a> @endif @endforeach @if ($articles->onLastPage()) <span>Последняя страница</span> @else <a href="{{ $articles->nextPageUrl() }}">Следующая</a> @endif </div>

Смотрите также

  • метод onFirstPage,
    который проверяет нахождение на первой странице
  • метод hasMorePages,
    который проверяет наличие следующих страниц
  • метод currentPage,
    который возвращает номер текущей страницы
  • метод lastPage,
    который возвращает номер последней страницы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить