Laravel分页链接没有包括其他GET参数

160

我正在使用Eloquent和Laravel 4的Pagination类。

问题:当URL中有某些GET参数时,例如:http://site.example/users?gender=female&body=hot,所产生的分页链接只包含page参数,而没有其他任何参数。

Blade模板

{{ $users->link() }}

虽然有一个名为 ->append() 的函数可以实现这个功能,但当我们不知道有多少个 GET 参数时,如何使用 append() 函数在分页链接中包含其他 GET 参数而不需要大量的 if 代码来干扰我们的 Blade 模板呢?


3
在 Laravel 7 及以上版本中,您可以简单地执行以下操作: {{ $users->withQueryString()->links() }} - Ali_Hr
14个回答

4
在您的视图页面中包含这个内容。
 $users->appends(Input::except('page'))

3
在 Laravel 7.x 中,你可以这样使用它:
{{ $results->withQueryString()->links() }}

-1

很多解决方案中都提到使用 Input...

Laravel 6、7、8已经移除了Input

请改用Request

这是在我Laravel 8项目中工作的Blade语句:

{{$data->appends(Request::except('page'))->links()}}

$data 是包含分页数据的 PHP 对象。

感谢 Alexandre Danault这条评论 中指出了这一点。


-1

同时传递分页的页码。就像这样

$currentPg = Input::get('page') ? Input::get('page') : '1';
$boards = Cache::remember('boards' . $currentPg, 60, function() { 
    return WhatEverModel::paginate(15); 
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接