Sequelize关联返回Sequelize Instance而不是object

时间:2015-01-04 17:42:06

标签: node.js sequelize.js

我正在使用Sequlizejs 2.0.0-rc4。

我有两个实体:Feeds(包含owner_id字段)和Owners。基本上,FeedsOwners之间存在一对多的关系 - Owner有很多Feeds

我尝试过这么多种不同的方式,但我唯一能做到的就是:

Owner.hasMany(Feed, {foreignKey: 'owner_id'});
Feed.belongsTo(Owner, {foreignKey: 'owner_id'});

唯一的问题是当我尝试像这样得到一个Feed:

models.feeds.findAll({
    include: [models.owners]
}).then(function (feeds) {
   // feeds will contain a SequlizeInstance object
});

然后结果将包含一个SequlizeInstance对象而不是一个Owner对象,然后我必须通过feeds.owners.dataValues之类的东西访问它。

这是什么问题?

1 个答案:

答案 0 :(得分:1)

这里没有问题:)。 Sequelize返回续集实例,因为它们可以让你做所有可爱的续集内容,例如feed.owner.updateAttributes({.. })

如果您想要所有者对象的普通值,则应拨打gettoJSON