更新不起作用,但是诺言返回了成功。我认为可能是因为序列查询中的Where不能从对象productCodeArr数组中找到值。
const orderid = req.params.orderid
const productsCodeArr = convertedInputs.map(code => {
return ({
id: code.id,
picked: code.picked,
notPicked: code.notPicked
});
})
if(productsCodeArr) {
db.Detallepedido.update({
pickeado: productsCodeArr.picked,
nopickeado: productsCodeArr.notPicked
},
{
where: {
pedido_id: orderid,
producto_id: productsCodeArr.id
}
})
.then(() => {
console.log('Success!');
}})
.catch(reason => {
console.log(reason);
})
答案 0 :(得分:2)
我做到了! 我将Promise.all与数组映射一起使用。
Promise.all(productsCodeArr.map(object=>{
return db.Detallepedido.update({
pickeado: object.picked,
nopickeado: object.notPicked
},
{
where: {
pedido_id: orderid,
producto_id: object.id
}
})}))