Для отношений N: M схема будет выглядеть следующим образом:
type Article {
id: ID! @id
title: String!
items: [ArticleItemEdge!]!
}
type ArticleItemEdge {
id: ID! @id
article: Article! @relation(link: INLINE)
item: Item! @relation(link: INLINE)
order: Int!
}
type Item {
id: ID! @id
title: String!
articles: [ArticleItemEdge!]!
}
А затем запрашивать статьи в более «ретрансляционном» стиле с ребрами и узлами
query {
articles {
items(orderBy: order_ASC) {
item {
title
}
}
}
}
И если N: M не требуется, вы можете обновить определение схемы следующим образом:
type Article {
id: ID! @id
items: [Item!]!
}
type Item {
id: ID! @id
article: Article! @relation(link: INLINE)
order: Int!
}
^ это превратит таблицы БД в отношение 1: N, а не в n: m
Тогда вы можете выполнить запрос следующим образом:
query {
articles {
id
items(orderBy: order_ASC) {
id
}
}
}
Обновление значения "order" должно быть простым, поэтому я опущу его здесь.
Надеюсьэто отвечает на ваш вопрос!