私は、同じコンポーネントに両方とも必要な2つのオブジェクトを照会しています。問題は、一方のクエリが他方のクエリを待機し、他方の引数としてそのフィールドのid
を使用することです。これを実装する方法がわかりません。GraphQLは、別のクエリの変数としてフィールド値を使用します。
const PlayerQuery = gql`query PlayerQuery($trackId: Int!, $duration: Int!, $language: String!) {
subtitle(trackId: $trackId, duration: $duration) {
id,
lines {
text
time
}
}
translation(trackId: $trackId, language: $language, subtitleId: ???) {
lines {
translation
original
}
}
}`;
だからtranslation
上記のクエリでsubtitle
クエリによって返される引数としてsubtitleId
を必要とします。
私はクライアントとサーバーの両方でApolloを使用しています。
私はGraphQLを始めたばかりですが、私が理解しているところからは、それは不可能です。スキーマ内の 'subtitle'や' lines'タイプから 'translation'が参照された場合、リゾルバは' subtitle'オブジェクトを受け取るため、おそらく_可能なはずです。 – robertklep