我正在尝试使用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()
语句,以便查询生成器正确解释它? 最佳答案
我能够通过在knex.raw()
中使用select
使其工作:
knex('patrol')
.select(knex.raw(`*, 'Patrol' as "$type"`)
.where('id', 12345)
.first()
关于javascript - Knex选择静态 "column"作为别名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48872592/