Remember Query Strings is a Laravel middleware that automatically remembers and restores query strings. It does this by remembering the last query strings visited in the session. Later, when you visit that same route, if no query strings are provided, the middleware will automatically restore them from the sessions via a redirect.
You can install this package via Composer:
composer require reinink/remember-query-strings
First register the route middleware in your App\HttpKernel
class:
protected $routeMiddleware = [
// ..
'remember' => \Reinink\RememberQueryStrings::class,
];
Now you can use this middleware just like any other middleware. For example, in your routes:
Route::get('users')->name('users')->uses('UsersController@index')->middleware('remember');
Or in a controller:
class UserController extends Controller
{
public function __construct()
{
$this->middleware('remember')->only('index');
}
}
If you'd like to visit a page without remembering the query strings, pass ?remember=no
to disable this behviour for that visit.
To forget previously remembered query strings, simply pass ?remember=forget
.