我们有两张桌子 - 门票和设备。映射器表'ticketdevice_map'将具有ticket_id(FK),device_id(FK)和一些其他值。 协会如下所示:
ticketdevice_map.belongsTo(collection.device, {
as: 'device',
foreignKey: 'device_id'
})
ticketdevice_map.belongsTo(collection.ticket, {
as: 'ticket',
foreignKey: 'ticket_id'
})
故障单可以包含许多与之关联的设备。现在,当我创建一个故障单时,如何将这个设备数组插入'ticketdevice_map'表中。
示例:
{
"abc_id": "B222",
"devices": [{
"device_id": 200,
"reg_id": "aa",
"reg_color": "red",
},{
"device_id": 201,
"reg_id": "aa",
"reg_color": "red",
}]
}
在mapper表中应插入,如
ticket_id device_id reg_color
1 200 red
1 201 red
答案 0 :(得分:0)
使用sequelize这段代码可以帮到你。
models.tblTicket.findOne({
where : {
ticket_id : req.body.ticket_id
}
}).then(function(tickets) {
if (tickets) {
for (var i = 0; i < devices.length; i++) {
models.ticketdevice_map.create({
ticket_id : tickets.dataValues.ticket_id,
device_id : devices[i].device_id,
reg_color : devices[i].reg_color
});
}
}
});