我已按照Laravel文档中有关appends([])
分页的说明操作,但我对这些参数的持久性有点麻烦。
比方说,我将home?category=Cars&make=Tesla
传递给我的观点。用它们分页的最佳方法是什么?获取请求?
现在我已将该类别作为参数传递给视图(其中类别是我用request('category');
抓取findOrFail的模型)
$category_name = $category_model->name;
然后在我看来它是这样的:
{{ $vehicles->appends(['category' => $category_name])->links() }}
但是当我在分页中的页面之间移动时,这个$ category_name值似乎不会持续存在。什么是推荐的方式来达到我想要的目的?
感谢。
答案 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'));