【发布时间】:2019-08-11 08:05:01
【问题描述】:
我刚开始使用 Laravel,我正在尝试使用适当的分页创建多重搜索功能。该功能适用于第一页,但例如在第二页或第三页上不起作用。我认为它没有将结果提供给下一页,但我似乎找不到答案。
这是我在 ClientController 中的搜索功能:
public function search(Request $request)
{
$clients = Client::
when($request->nom, function ($query) use ($request) {
$query->where('nom', 'like', $request->nom);
})
->when($request->prenom, function ($query) use ($request) {
$query->where('prenom', 'like', $request->prenom);
})
->when($request->date_debut, function ($query) use ($request) {
$query->where('date_naissance', '>=', $request->date_debut);
})
->when($request->date_fin, function ($query) use ($request) {
$query->where('date_naissance', '<=', $request->date_fin);
})
->when($request->active, function ($query) use ($request) {
$query->where('active', '=', $request->active);
})
->paginate(10);
return view('client.find', ['clients' => $clients]);
}
这是我的路线:
Route::get('search', 'ClientController@find');
Route::post('search', 'ClientController@search')->name('searchpost');
这就是我在 find.blade.php 中显示分页的方式:
<div class="row">
<div class="col-md-12">
@if(!empty($clients))
{{ $clients->links() }}
@endif
</div>
</div>
这是第二页的网址:
/search?page=2
【问题讨论】:
标签: laravel search eloquent pagination laravel-blade