Sequelize.js 如何在sequelize中创建hasMany关联
我想在offerset表中添加offerzone表作为外键。使用sequelize和below模型是用angularjs编写的Sequelize.js 如何在sequelize中创建hasMany关联,sequelize.js,Sequelize.js,我想在offerset表中添加offerzone表作为外键。使用sequelize和below模型是用angularjs编写的 module.exports = function(sequelize, DataTypes) { let offerzone = sequelize.define('offerzone', { title: DataTypes.STRING, moid: DataTypes.INTEGER, seoTandC: DataTypes.STRING, isActive:
module.exports = function(sequelize, DataTypes) {
let offerzone = sequelize.define('offerzone', {
title: DataTypes.STRING,
moid: DataTypes.INTEGER,
seoTandC: DataTypes.STRING,
isActive: DataTypes.BOOLEAN,
set: DataTypes.ARRAY(DataTypes.STRING),
isDeleted: DataTypes.BOOLEAN
}, {
classMethods: {
associate: function(models) {
offerzone.belongsToMany(models.offerset, {
through: 'models.offerset'
foreign-key: 'offerzone'
as: 'offerset'
});
// associations can be defined here
}
}
});
return offerzone;
};
要在sequelize中定义hasMany关联,如果您想拥有例如视频hasMany注释,请执行以下步骤 在视频中,您将拥有类似的功能视频模型
module.exports = function (sequelize, DataTypes) {
var Video = sequelize.define("Video", {
author: {
type: DataTypes.STRING,
allowNull: false
}
}, {
classMethods: {
associate: function (models) {
Video.hasMany(models.Comment, {foreignKey: 'videoid', onDelete: 'cascade', hooks: true});
}
}
});
return Video;
};
评论模式将是:
module.exports = function (sequelize, DataTypes) {
var Comment = sequelize.define("Comment", {
commentary: {
type: DataTypes.TEXT,
allowNull: false
}
}, {
classMethods: {
associate: function (models) {
Comment.belongsTo(models.Video, {foreignKey: 'videoid', allowNull: false});
}
}
});
return Comment;
};
onDelete部分:'cascade',hooks:true意味着如果删除视频,评论也将被删除