Laravelでページネーションを作る方法(パラメータの引き継ぎも可能)

ページネーションを作る際は、

  • SELECT文で取得できる総件数
  • SELECT文で一度に取得する件数
  • 現在のページ数
  • 現在のページ数に応じて変化する、SELECT文で取得する記事の範囲(LIMIT句)
  • ページごとのページネーションボタンの設置

など、色々と考えないといけないので結構面倒に思っていたが、Laravelにはページネーションを作る機能が組み込まれているので簡単に作成できる。

Laravel 5.8 データベース:ペジネーション

https://readouble.com/laravel/5.8/ja/pagination.html

Laravelでページネーションを作る方法

app/Http/Controllers/PostController.php


use App\Post;

public function index() {
     $posts = Post::paginate(5); // 1ページ毎に取得する件数が5件になる
}
resources/views/post/index.blade.php


{{@foreach($posts as $post)}} @endforeach {{ $posts->links() }} {{ $posts->appends(request()->input())->links() }}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です