我有两个模型Job和Contact。一个工作可以有多个联系人。这是模态。
工作
module.exports = (sequelize, DataTypes) => {
const Job = sequelize.define("Job", {
job_name: DataTypes.STRING,
due_date: DataTypes.DATE,
assigned_hours: DataTypes.INTEGER,
descriptions: DataTypes.STRING
});
Job.associate = function(models) {
// associations can be defined here
Job.hasMany(models.Contact, { foreignKey: "job_id" });
};
return Job;
};
联系
module.exports = (sequelize, DataTypes) => {
const Contact = sequelize.define(
"Contact",
{
organization_name: DataTypes.STRING,
contact_person: DataTypes.STRING,
email: DataTypes.STRING,
phone: DataTypes.STRING,
// Group can only be either client,contact or contractor
group: DataTypes.STRING,
sub_group: DataTypes.STRING,
instruction: DataTypes.STRING
},
{}
);
return Contact;
};
在我的应用程序中,联系人是单独创建的,用户仅在创建作业时选择联系人。因此,我应该怎么做才能将已创建的联系人与工作相关联?我已经阅读了文档,但看不到清晰的图片。我应该做类似newJob.setContacts
的事情吗?我是否需要传递整个联系人对象或仅传递联系人ID(newJob.setContacts(['1','2']
)?
答案 0 :(得分:0)
好吧,您的联系模型实际上甚至没有用于hasMany ... job_id ...的外键列,这实际上是您要使用的多对多关系吗?一个工作可以有多个联系人,并且一个联系人属于多个工作吗?