我可以使用来自更高级别字段的属性作为 GraphQL 查询中较低级别字段的输入参数吗?
例如,足球俱乐部有球员和赛季。在每个赛季,俱乐部的一部分球员都会为俱乐部踢球。俱乐部的球员每个赛季可以有不同的球队号码。
我想查询俱乐部的球员一个赛季,以及他们那个赛季的球队号码,对于每个球员,我想要一个他们在那个赛季打过的比赛的列表。
我可以得到一个球员为俱乐部踢过的所有比赛(所有赛季)的列表。但我想过滤该列表,以便仅查询赛季中的游戏包含在列表中。
query {
club {
players {
fullName
}
seasons {
id <-- I want to use this value as input parameter $seasonId below
players {
edges {
squadNumber
node {
fullName
games(seasonId: $seasonId) { <-- how to use the value here?
homeTeam
awayTeam
}
}
}
}
games {
players {
edges {
goalsCount
node {
fullName
games(seasonId: $seasonId) { <-- how to use the value here?
homeTeam
awayTeam
}
}
}
}
}
}
}
}
如果这不可能,我是否应该引入一个SeasonPlayer
GraphQL 类型(包含一个赛季球员的队号)?或者我应该使用包含季节 ID 的查询参数?