0
在sequelize文檔中有一個例子,如下所示(我有一個類似的用例)。現在續集n:m加入表1:m渴望加載關係
ItemTag = sequelize.define('item_tag', {
tag_id: {
type: DataTypes.INTEGER,
unique: 'item_tag_taggable'
},
taggable: {
type: DataTypes.STRING,
unique: 'item_tag_taggable'
},
taggable_id: {
type: DataTypes.INTEGER,
unique: 'item_tag_taggable',
references: null
}
});
Tag = sequelize.define('tag', {
name: DataTypes.STRING
});
Post.belongsToMany(Tag, {
through: {
model: ItemTag,
unique: false,
scope: {
taggable: 'post'
}
},
foreignKey: 'taggable_id',
constraints: false
});
Tag.belongsToMany(Post, {
through: {
model: ItemTag,
unique: false
},
foreignKey: 'tag_id'
});
,可以說我必須包括一個附加的關係表:
ItemTagReaction = sequelize.define('item_tag_reaction', {
reaction_type: {
type: Sequelize.ENUM.apply(Sequelize, reactionTypes),
},
tagResponse: Sequelize.STRING(256),
});
現在,包括我在這裏的附加關係:
ItemTag.hasMany(ItemTagReaction);
我怎樣才能eagerload的ItemTagReaction在查詢Post時?
Post.findById(2, {
include: [Tag],
})
^^上面的工作,但我不知道如何確保ItemTagReaction也加載。如果包含它,則會出現與Post無關的錯誤。如果您嘗試嵌套將它包含到標記中,則會發生錯誤,它們也不相關。
幫助!?