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

10-09 22:14