График: для аргумента ID в запросе подграфа не указано значение
Я следую документации The Graph ( https://thegraph.com/docs/quick-start#hosted-service ) и создаю подграф, используя следующий код:
graph init <GITHUB_USERNAME>/<SUBGRAPH_NAME>
Когда я создаю, а затем развертываю, я вижу, что на игровой площадке есть запрос по умолчанию с именем exampleEntities ():
{
exampleEntities(first: 5) {
id
affiliate
player
points
total
}
}
Если я запрашиваю подграф, используя этот запрос по умолчанию, все в порядке, но если я изменяю имя типа объекта на что-нибудь другое, например affiliateData, в моем файле schema.graphql (и изменяю имя импорта в mapping.ts), я получаю эта ошибка:
"No value provided for required argument: `id`"
Опять же, все, что я делаю, это меняю имя типа объекта с этого:
type ExampleEntity @entity {
id: ID!
affiliate: Bytes! # address
player: Bytes! # address
points: BigInt!
total: BigInt!
}
К этому:
type affiliateData @entity {
id: ID!
affiliate: Bytes! # address
player: Bytes! # address
points: BigInt!
total: BigInt!
}
Я не уверен, как «id» устанавливается в типе сущности ExampleEntity, так как я не могу найти нигде в коде, где он устанавливается. Я надеюсь, что кто-нибудь сможет подсказать.
1 ответ
В моем случае это произошло из-за использования имени объекта во множественном числе.
У меня была сущность с именемAnalytics
, сборка и развертывание прошли успешно, но когда я отправил следующий запрос, я получил точно такое же сообщение об ошибке:
analytics {
id
}
Я переименовал сущность вAnalytic
и ошибка исчезла.
Я предполагаю, что подграф автоматически формирует множественное число имени объекта, но кажется, что возникает конфликт, когда имя объекта уже имеет множественное число.