尝试使用graphql将sql转换为knex时,表示不允许使用运算符“undefined”

xytpbqjk  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(135)

我对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"
        }
      ]
    ]
  }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题