我正在尝试进行以下半原始 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'
https://stackoverflow.com/questions/35495379/
相关文章:
html-table - 在单个表格行
visual-studio - 如何在 Google Chrome 扩展程序中创建侧边栏?
python - 如何在 python 中将对象作为命令行参数传递?
ruby - 如何使用 Chef Recipe 删除文件中的一行?
react-native - React Native 的 Realm - 不区分大小写的搜索
makefile - 使用 GNU Make 处理带空格的文件名
oracle - 安装 Oracle ODAC 12c 第 4 版 (12.1.0.2.4) 时出现
amazon-web-services - 更新和部署 Elastic Beanstalk 应用程序
中混合表格标题 和表格数据 单