ページネーションを実装する
paginator
悩み事
ページャー/ページネーションを実装したい
解決方法
Paginator::make()
を利用します
第一引数にページネーションを実装したい配列を指定し、
第二引数に配列の総数を指定します
$array = [
[
'id' => 1,
'title' => 'Laravel'
],
[
'id' => 2,
'title' => 'Recipes'
],
[
'id' => 3,
'title' => 'JP Group'
],
];
\Paginator::make($array, count($array));
第三引数で1ページあたりのアイテム数を指定する事が出来ます
デフォルトでは1ページあたりのアイテム数は15です
次の例では1ページあたり1アイテムとして、配列を操作します
const PER_PAGE = 1;
$array = [
[
'id' => 1,
'title' => 'Laravel'
],
[
'id' => 2,
'title' => 'Recipes'
],
[
'id' => 3,
'title' => 'JP Group'
],
];
$separates = array_chunk($array, self::PER_PAGE);
$current = (int) \Input::get('page', 1);
\Paginator::make($separates[$current - 1], count($array), self::PER_PAGE);
page番号は、デフォルトではpage
引数が利用されます
http://localhost/?page=1
page引数を任意のものに変更する場合は次の様に指定します
$array = [
[
'id' => 1,
'title' => 'Laravel'
],
[
'id' => 2,
'title' => 'Recipes'
],
[
'id' => 3,
'title' => 'JP Group'
],
];
\Paginator::setPageName('p');
\Paginator::make($array, count($array));
この場合は以下の様な引数が利用されます
http://localhost/?p=1
Bladeテンプレートでページネーションを描画する場合は以下の様に記述します
{{$page->links()}}
アドバイス
データベースと組み合わせて簡単に実装する事ができます
クエリー結果でページネーションを実装する もご覧ください
その他ページネーション関連のレシピは現在準備中です
Author:Yuuki Takezawa
Category
- App 29
- Artisan 28
- Auth 36
- Basic Development 4
- Blade 23
- Cache 25
- Config 5
- Configuration 12
- Controller 3
- Cookie 2
- Core Extension 7
- Crypt 6
- DB 4
- Database Configuration 3
- Eloquent 0
- File 26
- Form 30
- Hash 1
- Help 2
- Html 17
- Installation 13
- Lang 6
- Middleware 2
- Paginator 1
- Route 1
- Session 0
- Solution 2
- Service Provider 1
- Testing 2
- Packages by 3rd Parties 0