Lravel5のページネーション

日本語で検索すると公式ドキュメントでは「ペジネーション」なので要注意。
DBセレクトの量が増えると当然必要な機能になってきますが、Laravelだと簡単にできて楽。

DBテーブルからオフセットでセレクトする

use App\SomeModelName;
....
$data = SomeModelName::paginate(5);

あるいは、

use Illuminate\Support\Facades\DB;
....
$data = DB::table('some_model_names')->paginate(5);

みたいなとり方で5件と5件分のオフセットのページネーションを作成してくれます。
view側では、$dataをオブジェクトのまま渡してあげて、

{{ $data->links() }}

こう書くだけでBootstrap風のページネーションリンクが作成されます。.pagenationというクラスの振られたul,liのリストで作成されていました。
また降順や昇順、その他のクエリは、

$data = DB::table('some_model_names')->orderBy('id', 'desc')->paginate(5);

というようにpaginate()メソッドよりも先に追加しておきます。(後にメソッドチェーンするとエラーになった。)


Laravel5.6 データベース:ペジネーション

Last update: 2018.05.09 (水)