3.6. Пагинация

3.6. Пагинация

Вы предпочаете изучать визуально?
Освойте Livewire с помощью наших подробных видеокурсов
Смотрите сейчас

Функция пагинации в 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>