2017-09-13 4 views
1

私はContentfulを使用しており、コンテンツタイプはAlbumArtistの2つです。コンテンツタイプからすべてのエントリを照会し、サブフィールドに基づいてレスポンスをフィルタリングできますか?

AlbumArtistコンテンツタイプのエントリを参照し、「アーティスト」フィールドを持っており、私はそのArtistを参照しArtist、すべてのAlbumsを返すクエリを実行します。

私はこのような何かを持っている、しかし、私はアルバムをフィルタリングする方法がわからない:

query artistQuery($id: String!) { 
    contentfulArtist(id: { eq: $id }) { 
    id 
    artistName 
    } 
    allContentfulAlbum { 
    edges { 
     node { 
     artist { 
      id 
      artistName 
     } 
     } 
    } 
    } 
} 
+0

あなたは何graphqlサーバーを使用していますか? – CFrei

+0

私はContentulを使用しています.Gatsby生成Webサイトからデータを取得しています。 –

答えて

1

ディこのクエリを試してみてください?

query artistQuery{ 
    contentfulArtist{ 
    id 
    artistName 
    } 
    album { 
    id 
    artistName 
    } 
} 

私は著者と記事で同様の使用例がありました。同様のクエリで解決しました。 スクリーンショットをご覧ください。 enter image description here

+0

ありがとう、@khaled、あなたが投稿したスクリーンショットのものに似たクエリが、私が探していたものでした。 –

+0

喜んでそれは助け、私の答えは正しいとマークすることができます、それは将来の質問に役立つでしょう。 –

0

@ハレドさんanswerによると、あなたが単にサブフィールドとして最初に照会する、別のエントリを参照するコンテンツタイプからすべてのエントリを照会することができるようです。

だから私の場合には、ArtistからすべてAlbumsを照会するために、クエリは、このようなものです:

query artistQuery($id: String!) { 
    contentfulArtist(id: { eq: $id }) { 
    id 
    artistName 
    album { 
     id 
     title 
    } 
    } 
} 
関連する問題