ReferenceManyFields(一对多关系)

ReferenceManyFields (One to Many Relationship)

我正在做一个项目,我必须在其中创建一对多关系,这将获取另一个 table 中 id 引用的所有记录列表,我必须显示所有 select在 multi-select 字段 (selectArrayInput) 中编辑数据。请帮助我解决这个问题,如果你能提供一个很好的例子。 提前致谢。

Example:
district
id    name
1     A
2     B
3     C

block
id    district_id    name
1     1              ABC
2     1              XYZ
3     2              DEF

我正在为我的应用程序使用 https://github.com/Steams/ra-data-hasura-graphql hasura-graphql dataprovider

您可能正在寻找 "nested object queries"(参见:https://hasura.io/docs/1.0/graphql/manual/queries/nested-object-queries.html#nested-object-queries

一个例子...

query MyQuery {
  district(where: {id: {_eq: 1}}) {
    id
    name
    blocks {
      id
      name
    }
  }
}

结果:

{
  "data": {
    "district": [
      {
        "id": 1,
        "name": "A",
        "blocks": [
          {
            "id": 1,
            "name": "ABC"
          },
          {
            "id": 2,
            "name": "XYZ"
          }
        ]
      }
    ]
  }
}

或者...

query MyQuery2 {
  block(where: {district: {name: {_eq: "A"}}}) {
    id
    name
    district {
      id
      name
    }
  }
}

结果:

{
  "data": {
    "block": [
      {
        "id": 1,
        "name": "ABC",
        "district": {
          "id": 1,
          "name": "A"
        }
      },
      {
        "id": 2,
        "name": "XYZ",
        "district": {
          "id": 1,
          "name": "A"
        }
      }
    ]
  }
}

以这种方式设置 table...

块:

地区:

旁白:我建议使用复数 table 名称,因为它们更标准,"districts" 和 "blocks"