mysql - Sequelize 模型中两列之间的乘法

标签 mysql node.js model sequelize.js

如何通过 findAll of sequelize 乘以表格的两列(数量 * 单位)

Products.findAll({ 
    attributes: 
    [
        'id',    
        'Product', 
        'Quantity', 
        'Unit'
    ]
});

最佳答案

您可以使用 sequelize.literal 来计算一些 SQL 表达式(子查询、数学计算等):

Products.findAll({ 
    attributes: 
    [
        'id',    
        'Product', 
        'Quantity', 
        'Unit',
        [sequelize.literal('(Quantity*Unit)'), 'Cost']
    ]
});

要访问包含在 sequelize.literal 中计算的所有属性,只需调用 get({ plain: true }) 映射结果。
const plainProductObjects = products.map(x => x.get({ plain: true })

关于mysql - Sequelize 模型中两列之间的乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61837824/

相关文章:

c# - 如何知道哪些设备连接到我的网络(使用 C#)?

javascript - 通过 node.js 和 hdfs 模块将文件上传到 HDFS

java - 多个字段中有一个必填字段的Json

php - 如何创建表并在其中插入数据,但如果已有同名表,则只需插入数据并且不再创建表

MySql - 选择UTC格式的时间戳列

php - 每个团队每周仅获得 "football matchup"的一个结果

PHP 面向对象编程 : Providing Domain Entities with "Identity"

node.js - Node index.js 命令在 Windows powershell 中被忽略

javascript - 如何使用 Babel 在 JavaScript 类中编写正确的私有(private)方法?

mysql - 模型协会(JOIN)在 cakephp 中不起作用,显示空结果