我有多个模型Partners、PartnerUsers、ContentRequest和UserContents。
关联就像
// Association between Partner & PartnerUsers
m.Partners.hasMany(m.PartnerUsers);
m.PartnerUsers.belongsTo(m.Partners);
// Association between PartnerUsers & UserContents
m.PartnerUsers.hasMany(m.UserContents);
m.UserContents.belongsTo(m.PartnerUsers);
// Association between Partner & ContentRequests
m.Partners.hasMany(m.ContentRequests);
m.ContentRequests.belongsTo(m.Partners);
现在我正在使用急切加载,但我不知道如何使用多个急切加载。 我就是这样做的
Partner.find(
where: {
id: id
},
include: [PartnerContents, ContentRequests],
include: [{
model: PartnerUsers,
include: [UserContents]
}]
)
.success(function(partner){
})
但没有给我partner.partnerContents和partner.contentRequests
我有 **patner.partnerUsers[0].userContents **
如果我这样做
Partner.find(
where: {
id: id
},
include: [PartnerContents]
//include: [{
// model: PartnerUsers,
// include: [UserContents]
// }]
)
.success(function(partner){
})
我有patner.partnerContents
建议我如何通过关联来获取所有三个,例如 patner.partnerContents 、 patner.contentRequests 和 patner.partnerUsers[0].userContents
最佳答案
参见documentation选项.include
检查一下:
Partner.find({
where: {
id: id
},
include: [
PartnerContents,
ContentRequests,
{
model: PartnerUsers,
include: [UserContents]
}
]})
.success(function(partner) {
});
关于node.js - 包含在sequelizeJs中的多次急切加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24179211/