Laravelでページネーションを実装する方法
Published:
Bladeの時
PHP
public function index()
{
$users = App\User::paginate(15);
return view('user.index', ['users' => $users]);
}
blade
{{ $users->appends(['sort' => 'votes'])->links() }}
PHP側でpaginate()した変数をBladeに渡してあげて、appends()で条件を設定、links()でアドレスを取得できます。
APIの時
PHP
public function index()
{
$users = App\User::paginate(15)->appends(['sort' => 'votes']);
return $users;
}
出力
{
"first_page_url": "http://exsample.com/users?sort=votes&page=1",
"last_page_url": "http://exsample.com/users?sort=votes&page=10",
"next_page_url": "http://exsample.com/users?sort=votes&page=3",
}
Bladeの時と同様にpaginate()した後に、続けてappends()で条件を設定すると、JSONに自動的に、最初のページ、次のページ、最後のページのリンクが付与されます。