Drizzle ORM Postgres 错误 - 绑定消息提供 1 个参数,但准备好的语句“”需要 0

问题描述 投票:0回答:1

代码:

export async function fetchPaymentMethod(name: string) {
        const res = await db.select().from(PaymentMethodsTable).where(sql`lower(${PaymentMethodsTable.name}) = '${name}'`);

        return res[0];
    }

错误:

bind message supplies 1 parameters, but prepared statement "" requires 0
    at async fetchPaymentMethod (./app/lib/data/main.ts:36:17)

说明:

我在 NextJS 项目上使用 Drizzle ORM。由于某种原因,这部分代码似乎会产生错误:

'${name}'

但这似乎与 Drizzle ORM 官方文档一致,您可以在这里阅读:https://orm.drizzle.team/docs/select

我正在寻找修复方法、替代实现等等。

sql typescript postgresql next.js drizzle
1个回答
0
投票

变量不应包含在引号中

'

应该是这样

sql`lower(${PaymentMethodsTable.name}) = ${name}`

来源:https://github.com/drizzle-team/drizzle-orm/issues/1140#issuecomment-1722587563

© www.soinside.com 2019 - 2024. All rights reserved.