通过分页保持搜索参数

时间:2015-07-08 15:28:50

标签: forms laravel laravel-4 pagination

Laravel(4.2)有点新,我在搜索功能上遇到分页问题。到目前为止,我已经能够成功进行搜索,但在极少数情况下,它实际上会转到第二页,它会重置为简单的"?page = 2"

以下是表单的代码。

{{ Form::open(array('method' => 'post', 'name' => 'all', 'novalidate' => 'novalidate')) }}
                          <input type="text" name="srch_lname" class="input-large" value="{{ Input::old('srch_lname', Session::get('srch_lname')) }}" />

                          <input type="text" name="srch_fname" class="input-large" value="{{ Input::old('srch_fname', Session::get('srch_fname')) }}" />
.
.
.
<?php echo $employees->links(); ?>

处理搜索的控制器。

public function getIndex() {

        $srch_lname = Session::get('srch_lname');
        $srch_fname = Session::get('srch_fname');

        $employees = vEmployees::co()->restrictions()
            ->where('lastname', 'LIKE', $srch_lname . '%')
            ->where('firstname', 'LIKE', $srch_fname . '%')
            ->orderBy('lastname')
            ->orderBy('firstname')
            ->paginate(10);

        return View::make('index')
            ->with('employees', $employees)
            ->with('title', 'Users')
            ->with('pagetitle', 'Employees')
            ->with('pagedescription', '')
    }


    public function postIndex() {

        if (Input::has('btnSearch')) {

            return Redirect::to('/employees')->with('search', 1)
                ->with('srch_lname', Input::get('srch_lname'))
                ->with('srch_fname', Input::get('srch_fname'))

我一直在尝试其他一些解决方案,尽管它最终导致问题或让我回到同样的问题。

任何朝着正确方向的推动都会很棒!

1 个答案:

答案 0 :(得分:2)

将搜索数据附加到分页links()

<?php echo $employees->appends(array("srch_lname" => ...))->links(); ?>

http://laravel.com/docs/4.2/pagination#appending-to-pagination-links