#How can i remove the query string from the url?

3 messages · Page 1 of 1 (latest)

frank nova
#

I'm working with Laravel and have defined a model scope named scopeFilter in my User model. I'd like to rename it to a simpler Filter scope.
In my controller, I'm using this scope to filter users. However, I'm facing an issue when the selected filter value is "-1". In this case, I want the filter parameter to be removed entirely from the URL

     public function scopeFilter(Builder $query,array $filters)
     {
         if(isset($filters['selected'])){
             $query->whereHas('roles', function (Builder $query) use($filters){
                 $query->where('name',$filters['selected'])->whereIn('name',AdminRolesEnum::cases());
             });
         }
 
         $query->whereHas('roles', function (Builder $query){
             $query->whereIn('name',AdminRolesEnum::cases());
         });
 
  
 
         return $query;
 
     }

     public function index(Request $request)
     {
      
         Gate::authorize('showAdmin',User::class);
         
         $filters = [
             'selected' => $request->has('selected') ? $request->query('selected'): null ,
         ];
 
         $admins = User::filter($filters)->paginate(3);
 
         return view('admin.index', ['admins' => $admins, 'roles' => Role::all()]); 
     }
 <form id="myForm" action="{{ route('admin.index')  }}" method="GET" >
     <select class="form-select" aria-label="Default select example" id="selected" name="selected" onchange="this.form.submit()">
         <option @selected(request('selected') == "-1") value=-1>Role Filter</option>
         @foreach ($roles as $role )
             <option @selected(request('selected') == $role->name) value="{{ $role->name }}">{{ $role->name }}</option>
         @endforeach
     </select>
 </form>
vague needle
#

AFAIK for HTML forms, you don't really. Even if you set the value="", it would still send it, as the value is empty. That's why it's more common to have a reset button, so it would refresh without the select value

frank nova
#

Is making a reset button a good ui practice