微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何基于深度祖先在 GraphQL 中列出项目?

如何解决如何基于深度祖先在 GraphQL 中列出项目?

我正在使用 GraphQL 开发 AWS Amplify 应用程序。

假设我已经定义了以下祖父模型、父模型、子模型。

type Country
@model 
{
  id: ID!
  name: String!
  states: [State] @connection(keyName: "byCountry",fields: ["id"])
}

type State
@model 
@key(name: "byCountry",fields: ["countryId","name"],queryField: "listStatesByCountry")
{
  id: ID!
  name: String!
  countryId: ID!
  country: Country @connection(fields: ["countryId"])
  cities: [City] @connection(keyName: "byState",fields: ["id"])
}

type City
@model 
@key(name: "byState",fields: ["stateId",queryField: "listCitysByState")
{
  id: ID!
  name: String!
  stateId: ID!
  state: State @connection(fields: ["stateId"])
}

根据上面的定义,我可以根据父元素列出子元素!例如,我有 listStatesByCountry 可以根据传递的国家/地区 ID 列出所有州。同样,我们可以使用 listCitysByState 查询根据所选州列出城市。

我的问题是:如何获取选定国家/地区的城市列表?虽然 CityCountry 模型之间没有直接关系,但 State 模型位于它们之间!

我需要在 City 模型上定义类似以下内容,但我不知道 countryId 不存在于 City 模型中,因此必须从 {{ 1}} 属性

state

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。