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

时间:2019-02-10 19:12:34

标签: php laravel laravel-5 laravel-5.7

这是我的路线:

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

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


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

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

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

3 个答案:

答案 0 :(得分: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 :(得分:-1)

尝试此代码

在Controller用户中(更改表名)

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

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

在视图中

{{ $users->links() }}

答案 2 :(得分:-1)

在查看文件中,您可以更改以下内容:

{!! users->links() !!}