2017-10-19 7 views
0

티켓과 장치라는 두 개의 테이블이 있습니다. mapper 테이블 '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'테이블에 어떻게 삽입 할 수 있습니까?

예 : sequelize를 사용하여이 같은 삽입해야 매퍼 테이블에

{ 
"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

이 코드는 당신을 도울 것입니다.

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 
     }); 
    } 
    } 
});