[英]Sequelize, one-to-many association, find with include
我很难理解为什么在尝试热切加载关联时find会引发错误。
相关型号:
标签:
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与标签未关联!” 找到的是:
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,如果我使用最新版本会有所帮助吗?
我发现了问题。 我忽略了:
Tag.hasMany(models.Event, {foreignKeyConstraint: true});
应该改为:
Tag.hasMany(models.EventTag, {foreignKeyConstraint: true});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.