gpt4 book ai didi

javascript - Knex 选择静态 "column"作为别名

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:40:02 24 4
gpt4 key购买 nike

我正在尝试使用 Postgres 在 Knex 中实现以下查询,以便返回静态“$type”列(用于向 GraphQL 服务器提供类型提示):

select *, 'Patrol' as "$type"from patrol;

当我使用 Knex 查询生成器时,它会破坏引号:

knex('patrol')
.select(['*', `'Patrol' as "$type"`])
.where('id', 12345)
.first()

返回

ERROR:  column "'Patrol'" does not exist at character 11
STATEMENT: select *, "'Patrol'" as """$type""" from "patrol" where "id" = $1 limit $2

我可以使用 knex.raw() 构建查询,但我真的不想那样做:

knex.raw(
`SELECT *, 'Patrol' as "$type" FROM patrol WHERE id = '${value}' LIMIT 1;`
)

我应该如何构建 select() 语句,以便查询构建器正确解释它?

最佳答案

我能够通过在 select 中使用 knex.raw() 使其工作:

knex('patrol')
.select(knex.raw(`*, 'Patrol' as "$type"`)
.where('id', 12345)
.first()

关于javascript - Knex 选择静态 "column"作为别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com