方法 1: Laravelの標準的なページネーション機能を使用する
Laravelには、デフォルトでページネーション機能が組み込まれています。以下の手順に従って、ブートストラップページネーションを実装できます。
- モデルでページネーションを使用するために、Eloquentの
paginate
メソッドを呼び出します。例えば、次のようになります:
$posts = App\Post::paginate(10);
- ページネーションを表示するビューで、ブートストラップのページネーションリンクを生成します。例えば、次のようになります:
{{ $posts->links() }}
方法 2: カスタムページネーションビューを使用する
Laravelのデフォルトのページネーションビューは、ブートストラップに対応していますが、カスタマイズすることもできます。以下の手順に従って、カスタムページネーションビューを作成しましょう。
-
resources/views/vendor/pagination
ディレクトリ内にbootstrap.blade.php
という名前の新しいビューファイルを作成します。 -
以下のコードを
bootstrap.blade.php
ファイルに追加します:
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled"><span>«</span></li>
@else
<li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
@else
<li class="disabled"><span>»</span></li>
@endif
</ul>
</nav>
- ページネーションを表示するビューで、新しく作成したカスタムビューを使用します。例えば、次のようになります:
{{ $posts->links('vendor.pagination.bootstrap') }}
以上がLaravelでブートストラップページネーションを実装する方法です。これらの方法を使って、コード例とともにブログ投稿を作成することができます。