gpt4 book ai didi

sequelize.js - 如何在 sequelize 中创建 hasMany 关联

转载 作者:行者123 更新时间:2023-12-03 22:42:14 25 4
gpt4 key购买 nike

我想在 offerset 表中添加 offerzone 表作为外键。使用 sequelize 和以下模型是用 angularjs 编写的。

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 关联,如果您希望拥有例如 Videos hasMany Comments,则步骤如下。

在视频中,您将获得类似的内容 视频 模型

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 部分意味着如果您删除视频,评论也将被删除

关于sequelize.js - 如何在 sequelize 中创建 hasMany 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36417644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com