【问题标题】:Keep Search Parameters Through Pagination通过分页保留搜索参数
【发布时间】:2015-09-26 15:05:24
【问题描述】:

对 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'))

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

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

【问题讨论】:

  • 有什么问题?

标签: forms laravel laravel-4 pagination


【解决方案1】:

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

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

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

【讨论】:

  • 我添加了附加内容,它确实在用户移动到下一页时在 URL 中显示了这一点,尽管它实际上并没有将搜索带到下一页它只是重置表,即使使用附加的 URL。 &lt;?php echo $employees-&gt;appends(array("srch_lname" =&gt; Input::get('srch_lname'), "srch_fname" =&gt; Input::get('srch_fname') ))-&gt;links(); ?&gt;这是我的附件
  • @Josh 尝试将 Input::get 更改为 Session::get。
  • 我将其更改为 Session::get ,但它仍然给我同样的问题。(将值保留在附加但实际上并没有将搜索带到第 2 页)所以这可能是表单的问题值本身没有继承,因为附加现在正在工作?
猜你喜欢
  • 1970-01-01
  • 2013-09-23
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
相关资源
最近更新 更多