ページネーターの設置
まずはアルチザンで用意されているページ遷移のリンクファイルを用意
php artisan vendor:publish –tag=laravel-pagination
コントローラーのDBクラスの記述を
->get()から->paginate(ページ当たりのアイテム数)へ変更
viewのページネーターを設置したい場所に
{{ $データセット名->links() }}
を記述。
引数に使いたいブレードを指定します。
{{ $データセット名->links(‘vendor.pagination.bootstrap-4’) }}
マージしたコレクションデータに対してページネートするときは
app/Providers/AppServiceProvider.php
クラスを読み込んで
use Illuminate\Support\Collection;use Illuminate\Pagination\LengthAwarePaginator;
bootに以下を追加
Collection::macro(‘paginate’, function($perPage, $total = null, $page = null, $pageName = ‘page’) {$page = $page ?: LengthAwarePaginator::resolveCurrentPage($pageName);return new LengthAwarePaginator($this->forPage($page, $perPage),$total ?: $this->count(),$perPage,$page,[‘path’ => LengthAwarePaginator::resolveCurrentPath(),‘pageName’ => $pageName,]);});
参考ページ
