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

我和Laravel 4的分页课一起使用了雄辩。

问题:如果URL中有一些GET参数,例如: http://site.com/users?gender=female&body=hot ://site.com/users?gender=female&body=hot,则生成的分页链接仅包含page参数,不包含其他内容。

刀片模板

 {{ $users->link() }} 

这里有一个->append()函数,但是当我们不知道有多less个GET参数时,我们如何使用append()将其他GET参数包含在分页链接中,而不是整个块代码搞乱了我们的刀片模板?

    编辑:康纳的评论与Mehdi的答案是必要的,使这项工作。 感谢他们的澄清。

    ->appends()可以接受一个数组作为参数,你可以通过Input::except('page') ,这应该做的伎俩。

    例:

     return view('manage/users', [ 'users' => $users->appends(Input::except('page')) ]); 

    请注意 Input::all() ,它将在您打开的每个页面中一次又一次地包含前一个?page=值!
    例如,如果您在?page=1并打开下一页,它将打开?page=1&page=2
    所以最后一个值页面将是您看到的页面! 而不是你想看到的页面

    解决scheme:使用Input::except(array('page'))

    append()appends()所以,正确的答案是:

     {!! $records->appends(Input::except('page'))->links() !!} 

    我想你应该使用Laravel提到的Laravel 5中的代码。 这也不仅适用于参数page而且适用于其他任何参数:

     $users->appends(request()->input())->links(); 

    我个人尽量避免使用Fecades 。 使用全局帮助函数代码less,优雅。

    LARAVEL 5

    该视图必须包含以下内容:

    {!! $myItems->appends(Input::except('page'))->render() !!}

    使用这个结构“

     {!! $myItems->appends(Request::capture()->except('page'))->render() !!} 

    为什么?

    1)你删除所有添加到请求那样的东西

      $request->request->add(['variable' => 123]); 

    2)你不需要$ request作为函数的input参数

    3)你不包括“页面”

    PS),它适用于Laravel 5.1

    传递分页的页码。 有些事情是这样的

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