确定如何更新数量=数量+ x

时间:2018-08-11 13:54:46

标签: sequelize.js

我想这样更新列数

  

数量=数量+ x

我的代码就是这样

db.Stock.update({
            qty: Sequelize.col('Stock.qty') + element.qty
        }, {
            where: {
                item_id: element.item_id
            }
        })

还有我的模特,我也有这个

{
    hooks: {
      beforeUpdate: function (Stock, options) {
        console.log("Stock", Stock._previousDataValues.qty);
      },
    }
  }

但这给了我错误

UPDATE `Stocks` SET `qty`='[object Object]10',`updatedAt`='2018-08-11 13:51:18' WHERE `item_id` = 8

我是新手,如何成功做到这一点?

1 个答案:

答案 0 :(得分:2)

您需要的是literal,请尝试以下方式:

db.Stock.update({ 
        qty: Sequelize.literal(`qty + ${element.qty}`) // <---- HERE
    }, 
    { where: { item_id: element.item_id }
);

更多信息: Do Read