【发布时间】:2018-02-26 11:25:40
【问题描述】:
我的 Laravel 5.5 应用中有很多 API 资源。到目前为止,它们很棒,但我在分页链接中保留 URL 参数时遇到问题。
请看下面的例子 网址:/posts?unreviewed=true
public function getPosts(Request $request){
/*
* Gets a list of posts.
*
* Options:
* - unreviewed: gets posts without revisions (default: false)
*
*/
$pagination = 20;
//Check constrains
if($request->unreviewed == true){
return SocialPostResource::collection(SocialPost::with(['images', 'publication.images'])
->doesntHave('revisions')
->paginate($pagination));
}
return SocialPostResource::collection(SocialPost::with(['images', 'publication.images'])->paginate($pagination));
}
以下示例仅包括已修改的帖子。这在第一个查询中完美运行。问题是分页结果在 URL 中不包含“reviewed=true”参数,因此第 2 页及以后的页面将返回所有帖子。我需要所有 URL 都包含原始请求中传递的任何参数。
“data”:{...},
“links”:{
...
“next”: “/posts?page=2”
}
我期望的结果是“/posts?unreviewed=true&page=2”
【问题讨论】: