带有 Get 请求的 Laravel 分页

iLC*_*iLC 1 php pagination laravel laravel-5

我已经按照 Laravel 文档中的说明进行分页,appends([])但是我在这些参数的持久性方面遇到了一些麻烦。

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

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

$category_name = $category_model->name;
Run Code Online (Sandbox Code Playgroud)

然后在我看来是这样的:

{{ $vehicles->appends(['category' => $category_name])->links() }}
Run Code Online (Sandbox Code Playgroud)

但是当我在分页中的页面之间切换时,这个 $category_name 值似乎不会持续存在。什么是实现我想要的推荐方法?

谢谢。

San*_*esh 5

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

$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'));
Run Code Online (Sandbox Code Playgroud)