2017-10-19 111 views
0

我們有兩張表格 - 票據和設備。映射表'ticketdevice_map'將具有ticket_id(FK),device_id(FK)和一些其他值。 關聯如下:如何將一個對象數組插入映射表 - Sequelize

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", 
}] 

}

在映射表應該像插入,

ticket_id device_id reg_color 
1   200  red 
1   201  red 

回答

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 
     }); 
    } 
    } 
}); 
相關問題