单击另一个分页项后如何保留我的过滤器

时间:2014-04-16 18:18:35

标签: laravel laravel-4

在我的查询后,我在我的控制器中对此进行了分析,我将itens分页以显示在我的视图中:

        $format        = Input::get('format', 'html');
        $funcionario   = Input::get('filter_funcionario');

        $filter_funcionarios = $this->funcionario->lists('nome', 'cod');

        //initialize query to DB
        $horariosQuery = $this->horario->with(array('funcionario', 'item_contabil'))->orderby('cod', 'ASC');

        if ($funcionario)
        {               
            $horariosQuery->where('cod_funcionario', $funcionario);
        }

        $horariosQuery->where('validado', 0)
                      ->orWhere('motivo', '<>', '')
                      ->orderBy('data');

        $horariosQuery->whereNull('deleted_at');               

        $horarios = $horariosQuery->paginate(40);

        $data = array(
            'horarios'  => $horarios,
            'filter_funcionarios' => (array( 0 =>'Selecione um funcionario') + $filter_funcionarios),
            'funcionario' => $funcionario,
        );

    return View::make('horarios.inconsistencia', $data);

但是,当我使用过滤器并更改页面时,页面会更改为编号但我丢失了我的员工过滤器

如何更改页面但将过滤器保留在页面中?使用分页可以做到这样的分辨吗? 提前thx!


回答:

为我解决了,获取所有输入并附加到链接

{{ $horarios->appends(Input::get())->links() }}
这是帮助!

1 个答案:

答案 0 :(得分:2)

您需要将过滤器附加到分页链接,如下所示:

{{ $horarios->appends('filter'=>'someValue')->links() }}

或者如果它是url的哈希片段,那么:

{{ $horarios->fragment('someValue')->links() }}

当然filter =&gt; someValue替换为您的实际过滤数据。