Я пытаюсь закодировать окно поиска, которое будет искать по столбцу в моей базе данных. Если поиск соответствует столбцу, то эта запись будет напечатана в таблице ниже.
Я ищу в столбце, который содержит округ записи компании. Однако при поиске категории, даты и возраста не отображаются ошибки, то есть в базе данных таблица остается пустой. Я не вижу, что я сделал неправильно в теории, я думаю, что код должен работать! Мы будем благодарны за любую помощь.
result.blade. php
<div class="container mt-5 mb-5">
<h2>{{ __('message.menu.tournament_results') }}</h2>
<form action="{{ route('filter') }}" method="post" class="mt-5 mb-5">
@csrf
<div class="row">
<div class="form-group col-md-3">
<label for="category">category</label>
<select id="category" name="category" class="form-control">
@foreach(\App\Category::whereParent_id(62)->get() as $category)
<option value="{{ $category->id }}">{{ $category->name}}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-3">
<label for="age">age</label>
<select id="age" name="age" class="form-control">
@foreach(\App\Age::all() as $age)
<option value="{{ $age->id }}">{{ $age->title_fa}}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-3">
<label for="date">date</label>
<input type="text" id="date" name="date" class="form-control" />
<span id="spanDate"></span>
</div>
<div class="form-group col-md-3 mt-4">
<button class="btn btn-success btn-block">submit</button>
</div>
</div>
</form>
@if ($results)
<div class="table-responsivemt-5 mb-5">
<table class="table">
<thead>
<tr>
<th>{{ __('message.ages.id') }}</th>
<th>{{ __('message.ages.first_last_name') }}</th>
<th>{{ __('message.ages.province') }}</th>
<th>{{ __('message.ages.style') }}</th>
<th>{{ __('message.ages.age') }}</th>
<th>{{ __('message.ages.weight') }}</th>
<th>{{ __('message.ages.position') }}</th>
</tr>
</thead>
<tbody>
@foreach($results as $result)
<tr>
<td>{{ $result->id }}</td>
<td>{{ $result->first_last_name }}</td>
<td>{{ $result->province->province_name }}</td>
<td>{{ $result->style }}</td>
<td>{{ $result->age }}</td>
<td>{{ $result->weight }}</td>
<td>{{ $result->role }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endif
</div>
web. php
Route::get('/result', 'ResultController@index')->name('result.index');
Route::post('/result/store', 'ResultController@filter')->name('filter');
ResultController. php
public function filter()
{
$results = Result::filter()->paginate(12);
return view('Home.result', compact('results'));
}
Результат. php
public function scopeFilter($query)
{
$category = request('category');
if( isset($category) && trim($category) != '' && $category != 'all') {
$query->whereHas('categories' , function ($query) use ($category) {
$query->whereId($category);
});
}
$age = request('age');
if(isset($age) && trim($age) != '') {
if($age) {
$query->whereAge($age);
}
}
$date = request('date');
if(request('date')) {
$query->oldest();
} else {
$query->latest();
}
return $query;
}