ページネーションを作る際は、
- SELECT文で取得できる総件数
- SELECT文で一度に取得する件数
- 現在のページ数
- 現在のページ数に応じて変化する、SELECT文で取得する記事の範囲(LIMIT句)
- ページごとのページネーションボタンの設置
など、色々と考えないといけないので結構面倒に思っていたが、Laravelにはページネーションを作る機能が組み込まれているので簡単に作成できる。
Laravel 5.8 データベース:ペジネーション
Laravelでページネーションを作る方法
app/Http/Controllers/PostController.php
1 2 3 4 5 6 7 |
use App\Post; public function index() { $posts = Post::paginate(5); // 1ページ毎に取得する件数が5件になる } |
resources/views/post/index.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<div class="content"> <!-- 中身を表示 --> {{@foreach($posts as $post)}} @endforeach <!-- ページネーションを表示 --> {{ $posts->links() }} <!--次のページにパラメータを渡すときはこっち --> {{ $posts->appends(request()->input())->links() }} </div> |
コメントを残す