본문 바로가기

엉터리 개발 이야기/개인프로젝트

Sequelize Association

반응형
Order.associate = function (models) {
Order.belongsTo(models.partner, {as: 'partner', foreignKey: {allowNull: false}});
Order.hasMany(models.partner_order, {foreignKey: 'order_number' , targetKey: 'order_id'});
}

{"id": 1,"order_id": "20161222G64993_604843664","order_date": "2016-12-23T00:00:00.000Z","product_name": "[Audi] NEW AUDI R8 푸시카 [화이트]","amount": 1,"shop_linker": "0222816467","is_complete": true,"status": "CHECK","note": "None","duplication_count": 1,"createdAt": "2018-11-28T11:15:06.000Z","updatedAt": "2018-11-30T08:23:09.000Z","partnerId": 1,"partner": {"id": 1,"name": "롯데아이몰","code": "LI","createdAt": "2018-11-28T16:22:38.000Z","updatedAt": "2018-11-28T16:22:41.000Z"},"partner_orders": [{"id": 1,"order_number": "1","status": null,"amount": null,"is_complete": null,"note": null,"order_type": null,"createdAt": null,"updatedAt": null,"partnerId": 5},{"id": 4,"order_number": "1","status": null,"amount": null,"is_complete": null,"note": null,"order_type": null,"createdAt": null,"updatedAt": null,"partnerId": 5}]},


router.get('/list1', (req, res, next) => {
app.db.models.order.findAll({
include: [
{
model: app.db.models.partner,
as: 'partner'
},
{
model: app.db.models.partner_order,
where: { },
required: false,
}
]
}).then(result => {
res.json(result);
});
});


반응형