Laravel Pagination with Get请求

时间:2017-06-01 16:17:04

标签: php laravel laravel-5 pagination

我已按照Laravel文档中有关appends([])分页的说明操作,但我对这些参数的持久性有点麻烦。

比方说,我将home?category=Cars&make=Tesla传递给我的观点。用它们分页的最佳方法是什么?获取请求?

现在我已将该类别作为参数传递给视图(其中类别是我用request('category');抓取findOrFail的模型)

$category_name = $category_model->name;

然后在我看来它是这样的:

{{ $vehicles->appends(['category' => $category_name])->links() }}

但是当我在分页中的页面之间移动时,这个$ category_name值似乎不会持续存在。什么是推荐的方式来达到我想要的目的?

感谢。

1 个答案:

答案 0 :(得分:3)

在对结果进行分页时,可以在控制器中附加查询字符串。我不确定这是你唯一的问题,甚至是将查询字符串作为条件应用。所以这里有一个示例,向您展示如何做到这两点。这应该让你知道如何做到这一点。我刚刚在这个例子中假设了列名。

$category = request('category');
$make = request('make');

$vehicles = Vehicle::when($category, function ($query) use ($category) {
        return $query->where('category', $category);
    })
    ->when($make, function ($query) use ($make) {
        return $query->where('make', $make);
    })
    ->paginate(10);

$vehicles->appends(request()->query());

return view('someview', compact('vehicles'));