В схеме graphql, как я могу создать родительское / дочернее отношение той же модели?

#graphql #aws-amplify

#graphql #aws-amplify

Вопрос:

Мне нужно создать таблицу списка с возможностью поиска, в которой некоторые записи имеют тип ORGANIZATION или RESOURCE . Отношение «один ко многим». Итак, у организации может быть много ресурсов. Как я могу создать эти отношения в рамках одной модели?

Используя AWS Amplify GraphQL API…

Вот так? schema.graphql

 enum ListingType {
  ORGANIZATION
  RESOURCE
}
type Listing @model {
  id: ID!
  title: String!
  type: ListingType!
  orginzation: Listing
}
  

Тем не менее, в Mutations я не могу ссылаться на родительскую организацию при создании моего первого ресурса:

введите описание изображения здесь

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

1. Вам все еще не нужна директива @connection в поле организация?

2. Хм, хорошая мысль. Для взаимно однозначного @connection будет ссылаться на организацию. Я попробую это…

3. @DanielRearden, это сделало это. Спасибо! Отправьте свой ответ, и я отмечу его как ответ.

Ответ №1:

Вам необходимо включить @connection директиву для любого поля, являющегося связью, как описано в документах. В этом случае должно сработать что-то вроде этого:

 type Listing @model {
  id: ID!
  title: String!
  type: ListingType!
  organization: Listing @connection
}