我有一个分页实例,我希望将请求中的所有查询参数附加到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"
答案 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