Вы можете отправлять свои фильтры с помощью запроса ajax (или запроса http, решать вам), а на стороне сервера вы можете фильтровать свои запросы, используя when(bool $condition, callback $query)
.Это довольно элегантный способ создания запросов на основе фильтров.
$query = Product::query();
$query->when($request->category,function ($q) use ($request){
$q->where("category",$request->category)
});
$query->when($request->has("min_price"),function ($q) use ($request){
$q->where("price",">=",$request->min_price)
});
// and other filters...
$result = $query->get();