graphql - 查询多对多 graphql 和 sqlite
问题描述
我正在尝试创建一个 Angular7 + graphql + sqlite 游戏应用程序,但我被卡住了。
我有 3 个数据库表,一个用于游戏,另一个用于流派,第三个作为游戏和流派之间的关系表。
我想在graphql上做的基本上就是这个join:
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);
}};
先感谢您
解决方案
推荐阅读
- windows - MinGW gfortran 编译器无法编译简单的测试程序
- javascript - POST/GET 请求 w/JavaScript 和 Python 文件以及 HTML 站点
- django - 有没有办法在 Wagtail 管理员的列表页面上显示一个字段?
- php - Laravel 7.1 - URL::defaults() 在高优先级中间件中不起作用
- java - 在 Java 中对元素进行就地排序
- azure - 使用 azure databricks 将数据帧写入 blob
- html - 如何将 React App 合并到具有现有 HTML 结构的现有网站中
- bash - 在一行中执行多个操作时如何在shell脚本中计算时间
- dictionary - 将函数应用于字典
- azure - 在 Azure ADO 管道任务中获取 azure 服务主体,然后将其传递到管道中的下一步