簡體   English   中英

Laravel 5.7 分頁顯示但在更改頁面時不返回正確的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM