Controller
public function index(Request $request)
{
// 指定されたパラメータ取得
$params = $request->all();
// ユーザーを検索取得
$users = $this->userRepository->search($params);
// ユーザーに加えて、指定されたパラメータもViewに渡す
return view('search.index', compact('params', 'users'));
}
View
<!-- 一覧表示 -->
@foreach ($users as $user)
<!-- (...省略) -->
@endforeach
<!-- /一覧表示 -->
<!-- ページネーション: appendsでパラメータを指定する -->
{{ $users->appends(['page_count' => $params['page_count'] ?? 20, 'type' => $params['type'] ?? ''])->links() }}
<!-- /ページネーション -->
パラメータをまるっと引き継ぎたい場合
- パラメータを選別せずに全て渡す場合はController側のparamsの受け渡し無しで下記で行ける
<!-- ページネーション: appendsでパラメータを指定する -->
{{ $users->appends(request()->query())->links() }}
<!-- /ページネーション -->
ページネーションをカスタマイズしたい場合はこちら
ページ遷移した場合も、検索パラメータは保持したい場合はappendsを使う