私はreact-apollo
を使用してウェブアプリケーションのgraphql
にアクセスしています。反応アポロのオプションフィルタパラメータのモデリング
私は私がゲームのスケジュールをフィルタリングすることができ、このようになります問い合わせてきた:startDate
とendDate
変数はリクエストごとに
query($pagination:Int!, $divisionId:ID, $teamId:ID, $startDate:DateTime!, $endDate:DateTime!
){
games: allGames (
orderBy: date_ASC,
first: $pagination,
filter: {
date_gte: $startDate,
date_lte: $endDate,
division: {id: $divisionId},
OR: [
{homeTeam: {id: $teamId} },
{awayTeam: {id: $teamId} },
]
}
){
id
.... more fields
}
必要とされますが、teamId
とdivisionId
はありません。最初のリクエストですべてteamIds
とdivisionIds
を表示し、必要に応じてフィルタリング/ドリルダウンを許可します。
ワイルドカード(*
)などを追加できるかどうかを確認していましたが、可能かどうかはわかりません。 graphqlの突然変異では、変数の値がnull
であるため、複数のユースケース(部分的な更新&が作成されます)に適用できる単一の突然変異を書くことができますが、クエリで同様の機能を達成する方法を理解できません。
私は役立つだろうfragments何かありますか?フィルターのシナリオ(なしdivisionId
& teamId
に1つだけdivisionIdに1つだけteamId
に1つ、およびdivisionId
とteamId
の両方に1つごとに異なるクエリを呼び出す必要があります(最後の文は、プロセスがDRY /少しも面倒ではない思われてしまうので)私はより少ないオーバーヘッドでこれを実現しています。
または私はすべてと(やや大)アレイdivision_in
にdivision
とid
を切り替えid_in
と渡すかをdivisionIds
との可能な値最初の小道具として?