Я с некоторыми сомнениями о том, как создать страницу поиска, как показано ниже, где пользователь может искать конгрессы, используя несколько фильтров (категория, город, цена, дата) и разбиение на страницы.Итак, у меня есть страница search.blade.php, например:
На данный момент я создал SearchController, который возвращает конгрессы, города и категориидля просмотра search.blade.php:
class SearchController extends Controller
{
public function index(){
$pageLimit = 1;
return view('search')
->with('categories', Category::orderBy('created_at', 'desc')->get())
->with('cities', Congress::orderBy('created_at','desc')->pluck("city")->unique())
->with('congresses', Congress::orderBy('created_at','desc')->paginate($pageLimit));
}
}
Так что в search.blade.php есть это меню выбора:
<div class="row">
<div class="col-6 col-md-3 mb-4 mb-md-0">
<form>
<select class="custom-select form-control">
<option selected="">All categories </option>
@foreach ($categories as $category)
<option {value="{{ $category->id }}">
{{ $category->name }}
</option>
@endforeach
</select>
</form>
</div>
<div class="col-6 col-md-3 mb-4 mb-md-0">
<form>
<select class="custom-select form-control">
<option selected="">All cities</option>
@foreach($cities as $city)
<option>
{{ $city }}
</option>
@endforeach
</select>
</form>
</div>
<div class="col-6 col-md-3">
<form>
<select class="custom-select form-contro">
<option selected="">Price</option>
<option>Paid</option>
<option>Free</option>
</select>
</form>
</div>
<div class="col-6 col-md-3">
<form>
<select class="custom-select form-control">
<option selected="">This week</option>
<option>This month</option>
</select>
</form>
</div>
</div>
И в search.blade.php появляются такжепо умолчанию последние 8 вставленных конгрессов:
<div class="row">
@foreach($congresses as $congress)
<div class="col-12 col-sm-6 col-lg-4 col-xl-3 my-4">
<div class="card">
<img class="card-img-top" src="{{$congress->image}}" alt="Card image cap">
<div class="card-body">
<p class="font-size-sm">{{$congress->start_date}}</p>
<h5 class="card-title">{{$congress->name}}</h5>
</div>
</div>
</div>
@endforeach
</div>
<div class="text-center d-flex justify-content-center mt-3">
{{$congresses->links("pagination::bootstrap-4")}}
</div>
Знаете ли вы, как необходимо, чтобы этот контекст мог быть правильно достигнут?