在find(1.6)上获取关联

sequelize 1.6在更新日志中有以下内容:

[FEATURE]为find和findAll添加了关联预取

问题是如何?

我定义了以下模型:

var self = { Medium: client.define("Medium", { name: Sequelize.STRING, description: Sequelize.TEXT }, User: client.define("User", { firstName: Sequelize.STRING, lastName: Sequelize.STRING, email: Sequelize.STRING, aboutArt: Sequelize.TEXT, bio: Sequelize.TEXT, password: Sequelize.STRING, description: Sequelize.TEXT } }; self.User.hasMany(self.Medium, { as: 'Media' }); self.Medium.hasMany(self.User); for(var key in self){ var model = self[key]; model.sync(); } 

后来当我拿这样的用户:

  User.find(id) .success(function(record) { //record has no media! }) 

用户实例没有列表媒体。 我如何自动获取关联?

顺便说一句:现在Sequelize 1.6.0已经不存在了,急切加载的语法也有了一些变化:

 User.find({ where: {id: id}, include: [Media] }).success(function(user){ console.log(user.media) }) 

所以你必须把Model而不是Model的名字传给include语句。

sdepold实际上编写了代码,但是我相信他所解决的语法包括:

 User.find({ where: {id: id}, include: ['Media'] }).success(function(user){ console.log(user.media) }) 

答案是目前只有在代码,testing和…我的头:D

 User.find({ where: {id: id}, include: ['Media'] }).success(function(user){ console.log(user.media) }) 

尚未提供文档的原因iiiii事实上,该版本目前是一个alpha版本。