我无法理解为什么在尝试急切加载关联时发现错误。
相关型号:
标签:
module.exports = function(sequelize, DataTypes) {
var Tag = sequelize.define('Tag',
{
tag_name: {type: DataTypes.STRING(30), allowNull: false}
},
{
associate: function(models) {
Tag.hasMany(models.Event, {foreignKeyConstraint: true});
Tag.hasMany(models.Retailer, {foreignKeyConstraint: true});
}
});
return Tag;
};
EventTag:
module.exports = function(sequelize, DataTypes) {
var EventTag = sequelize.define('EventTag',
{
cor_name: DataTypes.STRING
},
{
associate: function(models) {
EventTag.belongsTo(models.Tag, {foreignKeyConstraint: true});
EventTag.belongsTo(models.Event, {foreignKeyConstraint: true});
}
});
return EventTag;
};
当我找到一个发现时,我收到一条错误,说“" EventTag没有与Tag相关联!" 这是查找:
db.Tag.find({
where: ['id = ' + req.param('activity')],
include: [
{model: db.EventTag,
include: [
{model: db.Event,
where: [where]}]
}],
attributes: [
'id',
'tag_name']})
我在这里缺少什么?我甚至尝试了一个findAll,但同样的错误。 我正在使用sequelize 1.7.10,如果我使用最新版本会有帮助吗?
答案 0 :(得分:1)
我发现了这个问题。 我忽略了:
Tag.hasMany(models.Event, {foreignKeyConstraint: true});
应该是:
Tag.hasMany(models.EventTag, {foreignKeyConstraint: true});