Knex 原始查询在 postgresql 后不起作用



我正在尝试进行以下半原始knex查询:

knex.raw('select sum(invoice_price * quantity) from "localhost:3000".order_item').where({cart_session: 'some_session'}).then(function(data) {
        console.log(data.rows[0].sum);
});

但是,我不断收到错误:knex.raw(...).where is not a function

有人可以帮忙吗?

提前感谢!

我认为你不能以这种方式使用raw,它通常会进入你通常使用架构构建器的地方。 此外,看起来您也不能在 sum 子句中执行原始操作。 这似乎通过在select中使用raw来做您想要的:

knex('order_item')
  .select(knex.raw('sum(invoice_price * quantity)'))
  .where({cart_session: 'some_session'})

这将产生以下 sql:

select sum(invoice_price * quantity) from "order_item" where "cart_session" = 'some_session'

相关内容

  • 没有找到相关文章

最新更新