我有多个模型 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 options.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/