gpt4 book ai didi

php - 在 Laravel 中向 API 资源链接添加参数

转载 作者:行者123 更新时间:2023-12-02 03:09:30 24 4
gpt4 key购买 nike

我的 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”

最佳答案

我也遇到了同样的问题。事实上,多亏了你的问题,我发现了this similar post这帮助我找到了适合我的案例的解决方案。

请尝试这个:

// You must add this Facade in the 'use' section of your file:
use Illuminate\Support\Facades\Input;

return SocialPostResource::collection(
SocialPost::with(['images', 'publication.images'])
->paginate($pagination)
->appends(Input::except('page')) // <- Add this line!
);

关于php - 在 Laravel 中向 API 资源链接添加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46270575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com