Laravel 5.7分页显示,但在更改页面时未返回正确的数据

问题描述 投票:4回答:3

这是我的路线:

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个结果。通过分页,事情的用户界面部分正常工作,它在分页控件中向我显示4个链接(每页1个结果),但是单击指向第2、3和4页的链接时,每次都只会返回相同的第一项。

例如,我可以看到它正在网络标签中传递URL参数:

http://localhost:8050/admin/users?page=2

但是,它对返回的结果没有影响,所以我认为问题出在我的口才查询中?


经过更多研究,问题不在于分页,而在于GET参数。

即使我像这样直接在URL中直接传递页面密钥:http://localhost:8050/admin/users?page=2我的GET参数都是空的,所以这就是为什么分页不起作用,但是是什么阻止GET参数通过?

即使执行dd($ _ GET)也会显示GET参数为空。

php laravel laravel-5 laravel-5.7
3个回答
1
投票

使用此:

$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]);

-1
投票

尝试此代码

在Controller用户中(更改表名)

$users = DB::table('users')->paginate(1);

return view('user.index', ['users' => $users]);

在视图中

{{ $users->links() }}

-1
投票

在视图文件中,您可以更改此:

{!! $users->links() !!}
© www.soinside.com 2019 - 2024. All rights reserved.