This will not work for sure but this will be the general idea. Since your Customer Search returns a query you could apply further restrictions to it like so:
private static function applyDecoratorsFromRequest(Request $request, Builder $query)
{
if ($request->choose == 1) {
$filterName = 'name';
$value = $request->searchInput;
$decorator = static::createFilterDecorator($filterName);
if (static::isValidDecorator($decorator)) {
$query = $decorator::apply($query, $value, $request);
}
}
if ($request->choose == 2) {
$filterName = 'active';
$value = $request->active;
$decorator = static::createFilterDecorator($filterName);
if (static::isValidDecorator($decorator)) {
$query = $decorator::apply($query, $value, $request);
}
}
return $query->with('contacts', 'activeOrders')
->orderBy($request->column, $request->sortOrder);
}
And therefore order it the way you like it.
Hope it helps!