PHP
laravel

Laravel ページネーションのパラメータをシンプルにする

appends()の中に$requests->all()を突っ込むと画面ごとにリンクのパラメータを調整する必要がなくなる。
(pageの要素が被るけどページネーションで自動付与されるpageの方で上書きされるので問題ないはず)

ロジック

$page = Model::orderBy('column_name')->paginate(10);

テンプレート

{{ $page->appends($requests->all())->links() }}

ロジック内で初期値を設定している場合

$sort = $requests->input('sort', 'default_value');
if ($requests->has('sort')) {
  $requests->offsetSet('sort', 'default_value');
}

offsetSetでRequestオブジェクトにパラメータを追加できる。