Запрашивать много ко многим graphql и sqlite - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь создать игровое приложение Angular7 + graphql + sqlite, и я застрял.

У меня есть таблицы 3 дБ, одна для игр, другая для жанров и третья как реляционнаяТаблица между играми и жанрами.

То, что я хочу сделать на графике, в основном это соединение:

SELECT G.*, GN.genre FROM Games AS G
LEFT JOIN Game_Genre AS GG ON G.id  = GG.game_id 
LEFT JOIN Genre AS GN ON GG.genre_id  = GN.id 
WHERE G.id={GAMEID}

ожидаемый результат

Мне удалосьсоздавать запросы, чтобы перечислить все игры и отдельные игры, но я не могу сделать какие-либо запросы, чтобы перечислить игры с их жанрами.

Вот схема, которую я использую:

const schema = buildSchema(`
    type Query {
    games(offset:Int = 0, limit:Int = 100): [Games]
    game(id:ID!): Games
}

type Games {
    id: ID
    game_art: String
    game_title: String
    game_serial: String
    game_region: String
    release_year: Int
    players: Int
    developer: String
    publisher: String
}

type Genre {
  id: ID
  genre: String
}

type Game_Genre {
  id: Int
  game_id: Games
  genre_id: Genre
}`);

const root = {
games: args => {
    return query(
        `SELECT * FROM Games LIMIT ${args.offset}, ${args.limit}`,
        false
    );
},
game: args => {
    return query(`SELECT * FROM Games WHERE id='${args.id}'`, true);
}};

СпасибоВы заранее

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