Как передать родительские данные родительских данных в дочерний распознаватель, если возвращаемый тип-массив?

#graphql #graphql-js

Вопрос:

У меня есть проблема, аналогичная проблеме, описанной здесь: https://github.com/graphql/graphql-js/issues/1098

Вкратце, скажем, у меня есть следующий дизайн схемы (это исключительно пример, демонстрирующий мою проблему).:

 type Plan {
   planId: ID!
   jobs: Jobs!
}
type Jobs {
   rootJobs: [Job!]!
   childJobs: [Job!]!
}
type Job {
   id: ID!
   jobSalary: Float!
}
 

В Job , мне нужно получить доступ к идентификатору в плане, чтобы получить зарплату. Я знаю, что могу передать этот идентификатор из преобразователя заданий в задания, просто добавив другое поле под названием PlanID в возвращаемый объект преобразователя, доступ к которому затем можно получить с помощью parent Jobs преобразователя рутджобов. Однако, как я могу передать PlanID дальше от распознавателя рутджобов к работе? Когда я пытаюсь добавить другое поле в возвращаемый объект, я получаю ошибку (ожидаемую итерацию, но не нашел ее для поля____), поскольку она ожидает возвращаемое значение Job [], в котором больше ничего нет. Мне нужно передать планИд, но я не знаю, как это сделать.

Обратите внимание, что я не хочу добавлять новое поле под названием PlanID в задания или задания, так как они могут быть доступны только из самого плана, и это больше похоже на взлом, чем на решение.

Я был бы признателен за любую помощь, так как я застрял на этом на некоторое время!

Комментарии:

1. просто плохой код? покажите это — как вы добавляете это значение?