Saba note

醜悪コード Ugly hacks ITものづくり

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 データベース:ペジネーション

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.