Paginate更新请求?

时间:2016-07-08 13:06:04

标签: laravel pagination laravel-5.2

早上好,我试着简化我的难度,但是我会有任何额外的疑问可以提供任何代码信息......

我有一个过滤器,我通过某些值进行研究,最后有一个分页值:

    <div class="form-group col-md-12 col-sm-12 col-xs-12">
    <div class="col-md-2 col-sm-2 col-xs-2 form-label">
        {{Form::label('poder', 'Poder')}}
    </div>
    <div class="col-md-10 col-sm-10 col-xs-10">
        {{Form::select('poder', $poder, null, ['class' => 'form-control'])}}
    </div>
</div>
<div class="form-group col-md-12 col-sm-12 col-xs-12">
    <div class="col-md-2 col-sm-2 col-xs-2 form-label">
        {{Form::label('unidade', 'Unidade')}}
    </div>
    <div class="col-md-10 col-sm-10 col-xs-10">
        {{Form::select('unidade', $unidade, null, ['class' => 'form-control'])}}
    </div>
</div>
<div class="form-group col-md-12 col-sm-12 col-xs-12">
            {{Form::label('perPage', 'Deseja filtrar quantos resultados por página?', ['class' => 'pagilabel'])}}
            {{Form::number('perPage', null, ['class' => 'paginumber', 'min' => 0])}}
            {{Form::submit('Localizar', ['class' => 'btn btn-info'])}}
 </div>

在我的控制器中有以下内容:

    if ($request->poder) $query->where('orgao.poderId', $request->poder);
if ($request->unidade) $query->where('unid.id', $request->unidade);
$table = $query->paginate($request->perPage ? $request->perPage : 20);

时间显示如下页面的使用:

<div class="text-center">{{$table->appends(['perPage' => $perPage])->links()}}</div>

通过分页确定每页20个结果的默认值,一切都很完美....

我的难点是......:当我发送过滤器某个结果时,要通过分页更改页面,请求被取消并显示我各自表的所有记录,就像我的过滤器被取消和更新的页面一样。

我的问题是......每次更改分页页面时,如何发送表单发出的相同请求?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我在控制器中使用的是以下内容,希望它适合您:

$paginator = $query->paginate($request->perPage ? $request->perPage : 20);
$table = $paginator->appends(Input::except('page'));

这可确保保存搜索到的实体