2017-06-06 127 views
1

我使用Sequelize express和Node.js作为后端。我有模型事件和模型买方与关系多对多Sequelize包含返回数据

型号事件:

module.exports = function (sequelize, DataTypes) { 
    var Event = sequelize.define("Event", { //...}, 
{ 
      tableName: 'event', 
      timestamps: false, 
      freezeTableName: true, 
      classMethods: { 
       associate: function (models) { 
        Event.hasMany(models.Meetings, {foreignKey: 'event_id'}); 

       Event.belongsToMany(models.Buyer, { 
        through: 'BuyerPresent'}); 

       Event.belongsToMany(models.Seller, { 
        through: 'SellerPresent'}); 
       } 
      } 
     }); 

    return Event; 
}; 

型号卖家:

module.exports = function (sequelize, DataTypes) { 
    var Seller = sequelize.define("Seller", { //... 
    }, { 
     tableName: 'seller', 
     timestamps: false, 
     freezeTableName: true, 
     classMethods: { 
      associate: function (models) { 
       Seller.hasMany(models.Meetings, {foreignKey: 'seller_id'}); 

       Seller.belongsToMany(models.Event, { 
        through: 'SellerPresent'}); 
      } 
     } 
    }); 

    return Seller; 
}; 

我运行查询,并与

发送数据
res.render('path', {'results':seller}) 

function findIdSeller(selectEvent) { 
    var match = { 
     where: { 
      event: selectEvent 
     }, 
     // include: { 
     //  model: Seller 
     // }, 
     include: [{ 
      model: Seller, 
      nested: false 
     }], 
     // plain:true 

     raw: true 
    }; 
    return models.Event.findAll(match) 
} 
exports.findDataSellerPromise = function (selectEvent) { 
    return findIdSeller(selectEvent).then(function (result) { 
     return result.map(function(seller) { 
      console.log('SELLINFO: ', seller); 
      return seller; 
     }); 
    }); 
}; 

在我收到的终端:

{ 
    id: 4, 
    incoming: 2, 
    event: 4, 
    'Sellers.id': 1, 
    'Sellers.name_firm': 'kdm srl', 
    'Sellers.site': 'www.terrebasse.com' 
} 

我怎样才能返回一个项目为:

{ 
    id: 4, 
    incoming: 2, 
    event: 4, 
    Sellers: { 
     id': 1, 
     name_firm: 'kdm srl', 
     site: 'www.terrebasse.com' 
    } 
} 
+0

使用'回报res.json(卖方);' – Ellebkey

回答

1

从查询 这将使卖家为实例删除raw: true在每个事件上

类似于

{ 
    //Event1 properties 
    Sellers: { 
     // Associated sellers properties 
    } 
} 

想我也迟到了.. 但对于其他人面临同样的问题

相关问题