I suggest dig through this series: https://laracasts.com/series/laravel-nova-mastery-2023-edition
Luke Downing does all kinds of searching and filtering.
Edit:
Also in eloquent you can chain filters using if's, just small example, passed in request.
$query = Dog::where('dogname', 'like', $dogsch);
if ($aval == "n") {
$query->where('adopted', '=', 1);
} else if ($aval == "y") {
$query->where('adopted', '=', 0);
}
$dogs = $query->orderBy('lastedit', 'DESC')->paginate(5);