我对knex不是很满意,而且在将sql转换为knex时遇到了问题。我觉得这样应该行得通,但我相信我的模型是不正确的。
function findGameIDWithTags({ id }) {
return db('games')
.select(
'g.id',
'g.name',
'g.description',
'g.cover_image',
'g.genre',
't.name'
)
.from('games as g', 'tags as t')
.where(({ id }, 't.game_id'))
// return db
// .raw(
// `
// SELECT g.id, g.name, g.description, g.cover_image, g.genre, t.name
// FROM games as g, tags as t
// WHERE g.id = t.game_id
// `
// )
// .where({ id })
}
下面是graphql解析器查询
findGameIDWithTags(_, { input }, ctx) {
if (!input) {
console.log('No Input!')
} else {
console.log(input.id)
console.log(ctx.Games.findGameIDWithTags({ id: input.id }), 'res')
return ctx.Games.findGameIDWithTags({ id: input.id })
}
},
这就是我在操场上所说的
query findGameIDWithTags {
findGameIDWithTags(input:{id: "5a039388-8da4-4a3a-a3a8-17485c3988e6"}) {
name
}
}
我的最终目标是让React看起来像这样
{
"data": {
"games": [
"id": "5a039388-8da4-4a3a-a3a8-17485c3988e6"
"name": "World of Warcraft"
"tags": [
{
"id": "9b3e1243-ddf9-4c5d-a762-f644e7826376",
"name": "#WoW",
"game_id": "5a039388-8da4-4a3a-a3a8-17485c3988e6"
},
{
"id": "7008795e-b566-42c9-9207-fda311a86262",
"name": "#Magic",
"game_id": "5a039388-8da4-4a3a-a3a8-17485c3988e6"
},
{
"id": "278b9b7d-5d0f-4e91-89fe-c70f215c277c",
"name": "#MMO",
"game_id": "5a039388-8da4-4a3a-a3a8-17485c3988e6"
}
]
]
}
}
暂无答案!
目前还没有任何答案,快来回答吧!