Laravel分页:追加没有值的查询参数

时间:2017-06-24 09:59:56

标签: php laravel pagination laravel-5.4

我有一个分页实例,我希望将请求中的所有查询参数附加到next_page_url属性。

我的查询参数的值类似于&name=chris,但我也有一个参数没有像&xyz这样的值。

但是,当我将所有查询参数附加到分页实例时,如下所示:

$query->simplePaginate(50)->appends($request->all());

只会附加带有值的参数。

如何将所有参数附加到next_page_url

更新

我想附加查询参数以获取下一个请求数据块。

如果我不这样做,它总是会回复" next_page_url":" http://vue.dev/contacts?page = 2"。我想要的是" next_page_url":" http://vue.dev/contacts?name& page = 2"

2 个答案:

答案 0 :(得分:1)

以网址http://vue.dev/contacts?page=2&name为例。虽然完全有效,但它仍然很模糊。我们是指包含名称吗?我们是指排除名称吗?

因此我建议您使用此网址http://vue.dev/contacts?page=2&select=name。如果您决定选择更多内容,则可以http://vue.dev/contacts?page=2&select=name,age,gender

稍后在您的代码中使用explode将值用作数组:

$attributes = explode(',', $request->select);

有用的阅读:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

答案 1 :(得分:0)

尽管Fahmis解决方案也是可行的,但我最终还是使用了来自this问题的方法。这样做的好处是php会自动将参数作为数组读取。我的网址最终看起来像这样:

http://vue.dev/contacts?page=2&select[]=xyz&select[]=abc