当thinkjs事务涉及多个model时,代码如下
const values = this.post();
const model = this.model('tb_freight_mode');
await model.transaction(async () => {
id = await model.add(values);
//那如果一个事务中涉及到多个model:
let menumodel = this.model('tb_freight_detail').db(model.db());
if (details) {
for (let i = 0; i < details.length; i++) {
let l = details[i];
for (let d of l.ids) {
await menumodel.add({
freight_mode_id: id,
region_id: d,
is_free: l.is_free,
item: l.item,
fee: l.fee,
re_item: l.re_item,
re_fee: l.re_fee,
m_num: i + 1,
create_time: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
update_time: moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
});
}
}
}
})