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

Атрибут perPage

Атрибут perPage класса LengthAwarePaginator позволяет получить количество записей, которое выводится на одной странице. Это значение передаётся вторым аргументом в метод paginate или устанавливается вручную при создании экземпляра пагинатора. Атрибут доступен только для чтения и не может быть изменён напрямую.

Синтаксис

<?php $perPage = $paginator->perPage; ?>

Атрибут возвращает целое число - количество элементов на странице.

Пример

Получим количество элементов на странице для пагинатора статей с 10 записями на странице:

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

Результат выполнения кода:

"Elements per page: 10"

Пример

Используем атрибут perPage для отображения информации о пагинации в представлении Blade:

@if ($articles->count()) <p>Showing {{ $articles->count() }} of {{ $articles->total() }} articles</p> <p>Per page: {{ $articles->perPage }}</p> @foreach ($articles as $article) <div>{{ $article->title }}</div> @endforeach {{ $articles->links() }} @else <p>No articles found</p> @endif

Результат выполнения кода (HTML):

<p>Showing 10 of 100 articles</p> <p>Per page: 10</p> <div>Article 1</div> <div>Article 2</div> ... <div>Article 10</div> <ul class="pagination">...</ul>

Пример

Создадим пагинатор вручную и проверим значение атрибута perPage:

<?php namespace AppHttpControllers; use IlluminatePaginationLengthAwarePaginator; use IlluminateHttpRequest; class CustomController extends Controller { public function index(Request $request) { $items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; $perPage = 4; $currentPage = $request->get('page', 1); $currentItems = array_slice($items, ($currentPage - 1) * $perPage, $perPage); $paginator = new LengthAwarePaginator( $currentItems, count($items), $perPage, $currentPage, ['path' => $request->url()] ); $res = $paginator->perPage; echo "Per page: " . $res; return view('custom.index', ['paginator' => $paginator]); } } ?>

Результат выполнения кода:

"Per page: 4"

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

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