開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. PHP >
  4. Laravel >
  5. Laravelのページネーションが便利すぎた
no-image

Laravelのページネーションが便利すぎた

他のフレームワークでページネーションといえば、デフォルトでは備わっていない上にどのプラグインも一長一短だったり、
定番のプラグインがあってもフレームワークのバージョンアップについていかなかったりと非常に悩ましいものでした。


それがLaravelではデフォルトで用意されているpaginateメソッドを利用するだけ!

Controllerなど
$users = User::where('age', '>=', 18)->paginate(10);
return View::make('users/index', array('users' => $users));
View(Bladeテンプレートエンジンを利用)
@foreach($users as $user)
  {{$user->name}}
@endforeach

{{$users->links();}}
たったこれだけ。 linksメソッドで生成されるデフォルトのリンクが気に入らなければ
  • getCurrentPage …現在のページ番号
  • getLastPage …最後のページ番号
  • getPerPage …ページあたりのアイテム数
  • getTotal …ページネーションされたアイテム数の合計
  • getFrom …現在のページ内の最初のアイテムの番号
  • getTo …現在のページ内の最後のアイテムの番号

などのメソッドを使って自分で書くことも可能です。


URLにパラメータを追加するのも簡単。
appendsメソッドを使ってViewに
{{$users->appends(array('sort' => 'date'))->links();}}
と記述すればURLのパラメータに追加されます。
http://example.com/users/?page=2&sort=date
TOPに戻る