我在续集更新方法上遇到麻烦。下面是一个非常奇怪的行为:
let transaction = await sequelize.transaction();
for (x in checks) {
// update check record
let result = await Check.update(
{ deposit_endorsement_date: checks[x].deposit_endorsement_date},
{ where: { id: checks[x].id}, transaction}
);
// get transaction record id
let associatedRecord = await Check.findOne({
where: {id: checks[x].id},
attributes: ['transaction_id'],
transaction});
//update associated transaction record
await Transaction_Record.update(
{ transaction_debit_credit: checks[x].transaction_debit_credit},
{ where: {id : associatedRecord.transaction_id},
transaction
});
}
执行代码后,Transaction_Record得到更新。但是,检查未更新。我已经使用调试器来确认是否在执行Check.update之前定义了所有内容。我也没有收到任何错误或警告
找到答案!我试图在Check(deposit_endorsement_date)中更新的记录为空。因此,sequelize更新方法不适用于空列]