![](/img/trans.png)
[英]Why is Laravel 5.7 pagination not showing more pages after the first page result
[英]Laravel 5.7 pagination showing but not returning the correct data when changing page
這是我的路線:
Route::namespace('Admin')->prefix('admin')->name('admin.')->middleware(['auth', 'auth.admin'])->group(function () {
Route::prefix('users')->group(function() {
Route::get('/', 'UserController@index')->name('user');
在我的控制器中,我有以下內容:
$users = User::with('roles', 'group')->paginate(1);
return view('admin.user.index')->with(['users' => $users]);
沒有分頁,這可以正常工作並返回我擁有的 4 個結果。 通過分頁,UI 部分可以工作,它在分頁控件中顯示 4 個鏈接(每頁 1 個結果),但是當單擊第 2、3 和 4 頁的鏈接時,它每次只返回相同的第一項。
我可以看到它在網絡選項卡中傳遞 URL 參數,例如:
http://localhost:8050/admin/users?page=2
但是,它對返回的結果沒有影響,所以我認為問題出在我的 Eloquent 查詢上?
經過更多研究,問題不在於分頁,而在於 GET 參數。
即使我像這樣直接在 URL 中傳遞頁面鍵: http://localhost:8050/admin/users?page=2我的 GET params 是空的所以這就是為什么分頁不起作用但是什么阻止了 GET params挺過去?
即使執行 dd($_GET) 也會將 GET 參數顯示為空。
用這個:
$paginate = $request->input('page');
$itemsPerPage = 10;
if(!$paginate){
$paginate = 1;
}
$users = User::with('roles', 'group')->skip($paginate*$itemsPerPage)->take($itemsPerPage);
return view('admin.user.index')->with(['users' => $users]);
試試這個代碼
在控制器用戶中(隨表名更改)
$users = DB::table('users')->paginate(1);
return view('user.index', ['users' => $users]);
在視圖中
{{ $users->links() }}
在視圖文件中,您可以更改:
{!! $users->links() !!}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.