我正在尝试创建Angular7 + graphql + sqlite游戏应用,但我遇到了麻烦。
我有3个db表,一个用于游戏,另一个用于游戏类型,第三个用于游戏和游戏之间的关系表。
我想在graphql上做的基本上是这个连接:
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);
}};
提前谢谢