我正在尝试使用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()
语句,以便查询构建器能够正确解释它?
raw
实现它。 - grahamb