【发布时间】:2019-02-28 15:58:28
【问题描述】:
我正在使用带有 post 方法的表单并且有多个复选框,当我选中一个复选框并提交表单时,它可以正常工作并且结果带有分页,但是当我单击分页的下一个链接时它显示 404 页面的错误不是找到了。
查看:-
<form action="{{ route('trainer.filter') }}" method="post">
@csrf
<!-- Name -->
<input type="text" class="form-control mb-4" placeholder="Search" name="keywords" aria-label="Search">
<h6 class="black-text mt-2 "><b class="category">Areas of Experties</b></h6>
<!-- Copy -->
@foreach ($expertise_areas as $expertise_area)
<div class="custom-control custom-checkbox mb-1" style="padding-left: 3px;">
<label for="expertise_area">
<input type="checkbox" name="expertise_area[]" value="{{ $expertise_area->id }}"> {{ $expertise_area->name }}
</label>
</div>
@endforeach
<!-- State -->
<h6 class="black-text mt-2 "><b class="category">Trainer Location (STATE)</b></h6>
<select class="form-default browser-default custom-select mb-4" name="state" id="state">
<option selected disabled>Choose State</option>
@foreach ($states as $state)
<option value="{{ $state->id }}">{{ $state->name }}</option>
@endforeach
</select>
<h6 class="black-text mt-2 "><b class="category">Trainer Location (City)</b></h6>
<!-- City -->
<select class="browser-default custom-select mb-4" name="city" id="city">
<option selected disabled>Choose City</option>
@foreach ($cities as $city)
<option value="{{ $city->id }}">{{ $city->name }}</option>
@endforeach
</select>
<!-- Send button -->
<button class="btn btn-info btn-block" type="submit">Search</button>
</form>
分页链接:-
{{ $trainers->links() }}
路线:-
Route::post('trainer/filter', 'HomeController@trainerFilter')->name('trainer.filter');
控制器:-
public function trainerFilter(Request $request)
{
if ($request->has('keywords')) {
$trainers = Trainer::where('name', 'LIKE', '%'.$request->keywords.'%')
->orWhere('state_name', 'LIKE', '%'.$request->keywords.'%')
->orWhere('city_name', 'LIKE', '%'.$request->keywords.'%')->orderBy('ranking', 'asc')->paginate(5);
}}
【问题讨论】:
-
控制器代码似乎不是一个最小的例子,请你补充一些细节。
标签: laravel pagination