Graphql с использованием таблицы поиска - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь реализовать graphql на БД, которая использует справочную таблицу. В настоящее время я делаю несколько соединений для каждого элемента.

В настоящее время у меня есть:

type Query {
    getProductInfo(id: Int!): Product!
}
type Product {
    productAttributes: [ProductAttribute]
}
type ProductAttribute {
    languageID: Int
    language: String
    languageAbbrev: String
    regionID: Int
    region: String
    regionAbbrev: String
}

, где идентификаторы - это поля, объединяемые для атрибута ProductAttribute. Значения String взяты из таблицы поиска, которая возвращает заголовок и аббревиатуру.

Хотя это работает, у меня есть множество элементов, которые имеют регион и язык, а также различные другие свойства, которые используют таблицу поиска.

Я хотел бы реализовать что-то вроде:

type ProductAttribute {
    languageID: Int
    language: Lookup
    regionID: Int
    region: Lookup
}

type Lookup {
    title
    abbrev
}

Я изо всех сил пытаюсь определить, как настроить это в резольверах таким образом, чтобы он работал на различных типах.

Я думал, что это будет более производительным, так как поиск будет вызываться только при запросе, и отдельные запросы могут быть кэшированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...