我正在使用 Sequlizejs 2.0.0-rc4。
我有两个实体: Feeds
(包含 owner_id 字段)和 Owners
。基本上, Feeds
和 Owners
之间存在一对多的关系——一个 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
的东西访问它。这里有什么问题?
最佳答案
这里没有问题:)。 Sequelize 返回 sequelize 实例,因为它们允许您执行所有可爱的 sequelize 内容,例如 feed.owner.updateAttributes({.. })
。
如果你想要来自所有者对象的普通值,你应该调用 get
或 toJSON
关于node.js - Sequelize 关联返回 Sequelize 实例而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27768413/