Laravelのページネーションが便利すぎた
他のフレームワークでページネーションといえば、デフォルトでは備わっていない上にどのプラグインも一長一短だったり、
定番のプラグインがあってもフレームワークのバージョンアップについていかなかったりと非常に悩ましいものでした。
それがLaravelではデフォルトで用意されているpaginateメソッドを利用するだけ!
Controllerなど
などのメソッドを使って自分で書くことも可能です。
URLにパラメータを追加するのも簡単。
appendsメソッドを使ってViewに
定番のプラグインがあってもフレームワークのバージョンアップについていかなかったりと非常に悩ましいものでした。
それが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