I’m using the Laravel Searchable plugin for a couple of months and it’s working fine. As a new task in one of my projects, I have to add additional conditions to the search.
So, my idea is if a user is blocked (it has status == 0) it not be displayed in the search result.
PageController:
public function searchMember(Request $request, $id)
{
$this->validate($request, [
'query' => 'required',
]);
$query = $request->input('query');
$searchResults = (new Search())
->registerModel(User::class, 'first_name', 'last_name')
->perform($query);
return view('user.search', compact('searchResults'));
}
View:
<div class="result-count">{{ $searchResults->count() }} results found for "{{ request('query') }}"</div>
<div class="result">
@foreach($searchResults->groupByType() as $type => $modelSearchResults)
@foreach($modelSearchResults as $searchResult)
<div class="article">
<a href="{{ $searchResult->url }}">{{ $searchResult->title }}</a>
</div>
@endforeach
@endforeach
</div>
It works fine but I want to add a where() parameter, so I can display only active users (status 1). I’ve read if I want to add conditions, I have to tweak the code and I’ve tried this in my controller

