将查询字符串添加到具有可选参数的laravel 5路由

时间:2019-03-11 15:26:03

标签: laravel laravel-5 laravel-blade

我有以下路线:

Route::get('shop/browse/{category?}', 'ShopController@browse');

无论是否存在category参数,我都想附加一些查询参数。有没有比将可选参数传递为null更好的方法呢?例如

<a href="{{ route('shop.browse', ['category' => null, 'query_params' => $query_params]) }}">Browse</a>

1 个答案:

答案 0 :(得分:0)

您可以只使用一种形式:

<form method="GET" action="{{ route('shop.browse', ['category' => null]) }}">

然后,任何查询参数都将简单地为<input>。提交后,每个都会转换为正确的查询字符串:

<input type="hidden" name="test" value="test"/>
// http://mysite/shop/browse?test=test, etc.

然后,使用<a href="..."来代替使用<button type="submit">

一起:

<form method="GET" action="{{ route('shop.browse', ['category' => null]) }}">
  <input type="hidden" name="test" value="test"/>
  <button type="submit">Browse</button>
</form>