gpt4 book ai didi

sequelize.js - Sequelize : Sum value of nested column

转载 作者:行者123 更新时间:2023-12-03 22:33:35 32 4
gpt4 key购买 nike

我正在尝试使用 sequelize v6 对嵌套 hasMany 关系中的列的值求和。以下代码对所有嵌套行进行求和,而不仅仅是那些属于父记录的行。

        const StockOrders = await models.StockOrder.findAndCountAll({
limit: limit,
offset: offset,
order: [[orderBy, order]],
include: [{
model: models.StockOrderLine,
attributes: [
[Sequelize.fn('SUM', Sequelize.col('StockOrderLines.calculatedItemQuantity')), 'itemQuantityTotal']
],
as: 'StockOrderLines'
}],

});
有人可以请指教吗?

最佳答案

要从连接表中获取列的总和,您应该将其包含在根表的 attributes 中。由于您不需要连接表中的任何行值(通过 include ),因此您可以通过为 attributes 值传入一个空数组来省略它们。我倾向于根据它们映射到的 SQL 部分对配置值进行排序 - select、join、where、order、group、offset、limit。

    const StockOrders = await models.StockOrder.findAndCountAll({
attributes: [
// include the summed value here
[Sequelize.fn('SUM', Sequelize.col('StockOrderLines.calculatedItemQuantity')), 'itemQuantityTotal']
],
include: [{
model: models.StockOrderLine,
// don't include any columns here
attributes: [],
as: 'StockOrderLines'
}],
order: [[orderBy, order]],
offset: offset,
limit: limit,
});

关于sequelize.js - Sequelize : Sum value of nested column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64229115/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com