ReferenceManyFields (отношение "один ко многим") - PullRequest
0 голосов
/ 07 мая 2020

Я работаю над проектом, в котором мне нужно создать отношения от одного до многих, которые получат весь список записей, на которые ссылается идентификатор в другой таблице, и я должен отобразить все выбранные данные в поле с множественным выбором (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 для своего приложения.

1 Ответ

1 голос
/ 07 мая 2020

Вероятно, вы ищете «запросы вложенных объектов» (см .: https://hasura.io/docs/1.0/graphql/manual/queries/nested-object-queries.html#nested -object-questions )

Пример ...

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"
        }
      }
    ]
  }
}

Настройка таблиц таким образом ...

блоки:

enter image description here

enter image description here

enter image description here

районы:

enter image description here

enter image description here

enter image description here

В сторону: я рекомендую использовать имена таблиц во множественном числе, так как они более стандартные: «районы» и «кварталы»

...