Laravelは、ページネーション機能を簡単に実装できるフレームワークです。
ページネーションは、データベースから取得した大量のレコードをページ単位で表示するための方法です。
Laravelのpaginateメソッドは、ページネーションを実現するための手軽で効果的な方法です。
paginateメソッドを使用すると、自動的にページネーションに必要な情報が生成されます。
また、クエリビルダでの操作にも適用することができます。
実装例
例えば、以下のようにクエリを実行して、10件ずつページを分けることができます。
1 |
$users = DB::table('users')->paginate(10); |
上記のコードを実行すると、データベースから10件のレコードが取得され、それが最初のページに表示されます。
ページ番号や前後のページへのリンクも自動的に生成されます。
ページネーションに関する設定は、paginateメソッドの引数で指定することもできます。
ページネーションを行う際には、ビュー側で次のようにリンクを生成することができます。
1 |
{{ $users->links() }} |
上記のコードをビューに記述することで、ページネーションに必要なリンクが表示されます。
CSS反映方法
linksメソッドには、CSSクラスを指定することもできます。
例えば、Bootstrapを使っている場合は、次のようにクラスを指定することができます。
1 |
{{ $users->links('pagination::bootstrap-4') }} |
これにより、Bootstrapのページネーションスタイルが適用されます。
検索条件の反映
ページ遷移するタイミングで検索条件が反映されなくなります。
この場合の解決方法としては、linksの設定に requestの値を反映することで解決できます。
1 |
{{$target->appends(request()->query())->links()}} |
以上が、Laravelでのページネーションの実装方法についての説明です。
paginateメソッドを使用することで、簡単かつ効果的にページネーションを実現することができます。
参考サイト
Laravelで検索条件をページネーションに反映する方法
https://qiita.com/wbraver/items/b95814d6383172b07a58