3.6. Пагинация
3.6. Пагинация
Функция пагинации в Laravel позволяет запрашивать подмножество данных и предоставляет пользователям возможность переходить между страницами результатов.
Поскольку пагинатор Laravel был разработан для статичных приложений, в приложении без Livewire каждое переключение страниц вызывает полный переход браузера по новому URL, содержащему нужную страницу (?page=2).
Однако, при использовании пагинации внутри компонента Livewire пользователи могут переключаться между страницами, оставаясь на той же странице. Livewire будет обрабатывать все процессы в фоновом режиме, включая обновление строки запроса URL с текущей страницей.
1. Базовое использование
Ниже приведен самый простой пример использования пагинации внутри компонента ShowPosts, который отображает по десяти постов за раз:
WithPagination
Чтобы воспользоваться функциями пагинации Livewire, каждый компонент, содержащий пагинацию, должен использовать трейт Livewire\WithPagination.
<?php namespace App\Livewire; use Livewire\WithPagination;use Livewire\Component;use App\Models\Post; class ShowPosts extends Component{ use WithPagination; public function render() { return view('show-posts', [ 'posts' => Post::paginate(10), ]); }}
<div> <div> @foreach ($posts as $post) <!-- ... --> @endforeach </div> {{ $posts->links() }}</div>