我有两个表A-订单表和B-订单明细表。订单与订单详细信息具有一对多关系。
使用续集创建记录很容易。但是,一次调用似乎不可能更新记录。
型号:
Orders.hasMany(models.OrderDetails);
OrderDetails.belongsTo(models.Orders, {
foreignKey: 'specialOrderId',
targetKey: 'id',
as: 'specialOrder'
});
对于创建:
return models.sequelize.transaction(tx =>
models.Orders.create(OrderDetailsParams, {
include: [models.OrderDetails],
transaction: tx
}));
对于更新,我必须这样做:
return models.Orders.update(OrdersParams, {
where: {
id: id
},
required: true,
}).then((Orders) => {
if(Orders[0] !== 0) {
sequelize.Promise.each(OrderDetails, (items) => {
return models.OrderDetails.findOne({
where: {
OrderId: id,
itemId: items.itemId
}
});
如何在一个电话中对其进行更新?
方言:MSSQL-不支持在bulkcreate中批量更新/更新或updateOnDuplicate。
我尝试了很多方法,例如onUpdate标志并将其设置为true或使用build和save实例。
用hasMany关联更新记录的最佳解决方案是什么?