我想在 laravel 中使用 paginate 但效果不佳。當我對過濾后的資料進行分頁時,它作業正常,但僅適用于第一頁。問題是當我移動到第二頁時,它將顯示所有資料的第二頁,而不是過濾后的資料。我想要它,所以第二頁將顯示過濾資料的第二頁
在blade.php 中,我使用鏈接來呼叫分頁(用于移動頁面)
<div class="paginate">
{{ $data->links() }}
</div>
這是過濾器控制器
function filter(Request $request){
$data = profiles::when($request->has('pNamaLengkap'), function($query) use ($request){
$query->where('pNamaLengkap','like','%'.$request->pNamaLengkap.'%');
});
if($request->pJobDescription != 'All'){
$data = $data->where('pJobDescription','like','%'.$request->pJobDescription.'%');
}
if($request->pUnitKerja != 'All'){
$data = $data->where('pUnitKerja','like','%'.$request->pUnitKerja.'%');
}
if($request->pDirectorate != 'All'){
$data = $data->where('pDirectorate','like','%'.$request->pDirectorate.'%');
}
if($request->pRank != 'All'){
$data = $data->where('pRank','like','%'.$request->pRank.'%');
}
return view('export', [
'data' => $data->paginate(5),
'jobdescription' => jobdes::all(),
'unitkerja' => unitkerja::all(),
'direktorat' => direktorat::all(),
'rank' => rank::all(),
'oldjob' => $request->pJobDescription,
'oldunit' => $request->pUnitKerja,
'olddir' => $request->pDirectorate,
'oldrank' => $request->pRank,
'oldname' => $request->pNamaLengkap
]);
// return redirect('export')->with([
// 'data' => $data,
// 'jobdescription' => jobdes::all(),
// 'unitkerja' => unitkerja::all(),
// 'direktorat' => direktorat::all()
// ]);
}
我將從圖片中舉例
篩選的職位描述頁面 1
重置過濾器并顯示所有資料的第 2 頁
在 URL 引數中,它從
http://127.0.0.1:8000/filterexport?pNamaLengkap=&pJobDescription=Full Stack Developer&pUnitKerja=All&pDirectorate=All&pRank=All&export=Filter
進入
http://127.0.0.1:8000/filterexport?page=2
額外注意的是,分頁正在作業,但是當您想查看第二頁時它不起作用,因為它以某種方式重置了輸入過濾器
感謝您閱讀此頁面,我真的需要幫助
uj5u.com熱心網友回復:
$data->paginate(15)->withQueryString();
對分頁資料使用 withQueryStrings() 方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403663.html
標籤:
