我使用 sequelize.js 作为 ORM,我试图定义两个对象之间的关系:Review 和 User。一位用户可以撰写/拥有许多评论。因此,一条评论始终只属于一个用户。没有连接表,此信息保存在 Review 对象中名为 user_id 的列中。
我试图将关系定义如下:
Review.belongsTo(User, { foreignKey: 'user_id' });
User.hasMany(Review, { foreignKey: 'user_id', useJunctionTable: false });
现在我在 Review 上使用 find 并且我想包含 user 对象。我这样做使用:
Review.find({
where: {
id: reviewId
},
include: [User]
});
我检索错误
ER_BAD_FIELD_ERROR:“字段列表”中的未知列“user.user_id”。
续集要求user
。user_id
,因为它以某种方式认为它应该这样做。真正有趣的是,它以某种方式起作用,但现在不再起作用了。文档在这里没有应有的那么健谈,所以我不确定如何定义两个对象之间的关联,或者belongsTo
一般的关系。也许你们中的任何人都可以在这里帮助我。