public function boot() { Route::macro('preserveQueryParams', function () { $this->middleware(function ($request, $next) { if ($request->route()->getAction('preserveQuery')) { session(['previous_params' => $request->query()]); } return $next($request); }); return $this; }); // ...existing code... }