Html 过滤数据时是否按请求进行请求?

Html 过滤数据时是否按请求进行请求?,html,laravel,Html,Laravel,这是我的想法,我有三个选择框,以一种形式过滤用户的数据 表格编号: <form action="{{route('TopUsers')}}"> <select name="category" onchange="this.form.submit()"> <option value=""> Category </option> @foreach (\App\Category::all() as $category)

这是我的想法,我有三个
选择框
,以一种形式过滤
用户的数据

表格编号:

<form action="{{route('TopUsers')}}">

  <select name="category" onchange="this.form.submit()">
    <option value=""> Category </option>
      @foreach (\App\Category::all() as $category)
        @if($category->id == Input::get('category'))
            <option selected="selected" value="{{ $category->id }}">{{ $category->name }}</option>
        @else
            <option value="{{ $category->id }}">{{ $category->name }}</option>
        @endif
     @endforeach
   </select>

   <select name="governorate" onchange="this.form.submit()">
    <option value=""> Governorate </option>
     @foreach (\App\Governorate::all() as $governorate)
        @if($governorate->id == Input::get('governorate'))
            <option selected="selected" value="{{ $governorate->id }}">{{ $governorate->name }}</option>
        @else
            <option value="{{ $governorate->id }}">{{ $governorate->name }}</option>
        @endif
     @endforeach
  </select>

  @foreach (\App\Tag::all() as $tag)
        @if($tag->id == Input::get('tag'))
            <option selected="selected" value="{{ $tag->id }}">{{ $tag->name }}</option>
        @else
            <option value="{{ $tag->id }}">{{ $tag->name }}</option>
        @endif
  @endforeach

</form>
当我选择一个select like
省时的链接:

http://code.test/top-users?category=&governorate=1&tag=
我的问题是:在没有其他类似请求的情况下,如何仅选择我选择的url:

 http://code.test/top-users?governorate=1

然后,如果我选择了任何其他人,请将第一个添加到链接中,以此类推:)

您不能从请求中删除元素,因为表单将始终传递它们,即使是空的,但您可以检查它们是否有值,并将其从筛选中排除

if($request('category')) //returns true because category is in the request
将成为

if($request->filled('category')) //returns false if no categories were selected

等等

仍然有相同的链接()链接不会更改,表单将始终提交其所有可用值。但是数据将不再被空字段summ过滤,那么这样的最佳实践是什么呢?我是说我的主意!在纯HTML中?没有。从理论上讲,你可以使用javascript构建URL,但这似乎有些过分,如果我为每个URL创建三个链接,然后逐个发送请求,会怎么样呢!嗯,但它将删除第一个,然后添加第二个):我看到了什么丑陋的链接!
if($request->filled('category')) //returns false if no categories were selected