Я только начинаю с Apollo GraphQL.У меня есть такая структура, как
sportsgame -> команды -> игроки
У меня есть схема, где я могу получить все спортивные игры, одну со всеми командами и одну со всеми игроками, все этохорошо.Я также реализовал получение каждого по их идентификатору.
Затем я написал решатели полей для команды и игрока, и все это хорошо работает, получая команды для спортивной игры или игроков для команды,
, поэтому эти видызапросы в порядке и дают мне названия команд для данной спортивной игры.
query Query {
sportsgame(gameId: "12345") {
teams {
name
}
}
}
И также для игрока я могу запросить:
query Query {
teams {
name
players {
name
number
}
}
}
}
И это тоже хорошо работает, давая мне списоквсе команды и игроки в каждой.
Далее я хотел реализовать сбор всех игроков для команды для спортивной игры, например:
query Query {
sportsgame(externalId: "12345") {
teams {
name
players {
name
}
}
}
}
Но проблема в том, что я неt всех игроков для этих команд, только тех, которые действительно играют в турнире.И это требует, чтобы мой fieldResolver знал о спортивной игре на самом верху.
Так что мой fieldResolver может получить объект Root, который является командой, но он не получает спортивную игру наверху, и поэтому я могу 't получить доступ к идентификатору спортивной игры для дальнейшей фильтрации списка игроков.
Мой вопрос заключается в том, должен ли я просто передавать идентификатор спортивной игры через команду в качестве дополнительного фрагмента скрытых данных?Или это какой-то более идиотский способ сделать подобные вещи в Аполлоне?Или я делаю что-то концептуально странное, даже пытаясь заставить это работать?