如何使用Knex.js将列相乘并获得它们的总数



场景:order_items表包含quantity和外键product_id
我试图加入product表,然后将order_items.quantityproduct.price相乘,得到它们的总和。

knex支持内置列乘法吗?

查询:

await knex('order_items')
.where('order_items.order_id', orderID)
.leftJoin('products', 'order_items.product_id', '=', 'products.id')
.sum('products.price * order_items.quantity')

输出:

error column products.price not found

我在这里错过了什么?

这似乎解决了问题。

await knex('order_items')
.where('order_items.order_id', orderID)
.leftJoin('products', 'order_items.product_id', '=', 'products.id')
.select(knex.raw('SUM ( products.price * order_items.quantity ) AS sum_total'))