0
Laravel 5.5アプリには多くのAPIリソースがあります。これまでのところ素晴らしいものですが、ページネーションリンクでURLパラメータを永続させるのに問題があります。APIにパラメータを追加するLaravelのリソースリンク
が URLの下の例を参照してください:?/投稿を未審査=真
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”
}
私が期待した結果は、「/ポスト?未審査=真&ページ= 2」である
私は受け入れ回答としてこれをマーキングしています。ただし、以下のように、コレクションセクション内に「追加」を配置する必要があります。 'return SocialPostResource :: collection(SocialPost :: with(['images'、 'publication.images'、 'brands'、 'products ']) Diegoのレスポンスは、それを外に置きます。このレスポンスが外に出て、いくつかの部分が壊れてしまいます。(入力:: except(' page ')))); - >(ブランド名) - >ページ番号($ページング) - > json構造。 –
あなたはそうです。更新された答え。ありがとう。 – Diego