Node.js 如何在sequelize中创建关系对象?

Node.js 如何在sequelize中创建关系对象?,node.js,express,sequelize.js,Node.js,Express,Sequelize.js,嘿,我需要在sequelize中创建一个关系。我有模型,在数据库中创建得很好。 我会给你看我的模型,但不是很相关 卖方型号 const Sellers = db.define("sellers", { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, }, name: Sequelize.STRING, surname: Sequelize.STR

嘿,我需要在sequelize中创建一个关系。我有模型,在数据库中创建得很好。 我会给你看我的模型,但不是很相关

卖方型号

const Sellers = db.define("sellers", {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true,
  },
  name: Sequelize.STRING,
  surname: Sequelize.STRING,
});

Sellers.hasMany(Clients);
module.exports = Sellers;
const Client = db.define("clients", {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true,
  },
  name: Sequelize.STRING,
  creationDate: Sequelize.DATE,
  client_type: Sequelize.STRING,
});

module.exports = Client;
客户机型号

const Sellers = db.define("sellers", {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true,
  },
  name: Sequelize.STRING,
  surname: Sequelize.STRING,
});

Sellers.hasMany(Clients);
module.exports = Sellers;
const Client = db.define("clients", {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true,
  },
  name: Sequelize.STRING,
  creationDate: Sequelize.DATE,
  client_type: Sequelize.STRING,
});

module.exports = Client;
我想做的就是在客户和卖家之间建立一种关系。在数据库中,由于sequelize
hasMany()
方法,在客户机表中添加了一个SellerId。我想做的只是在创建客户机时将id传递给ORM,以便它自动将关系传递给seller表


感谢您花时间阅读本文。我希望你能帮助我!祝您度过愉快的一天。

首先,我希望在模型中定义一个外键列,并在关联中明确指出它。当然,您需要将另一个关联从
客户
添加到
卖家
-
belongsTo
,并调用模型外部的两个关联,以便能够相互引用它们

客户端模型文件:

const Client=db.define(“客户机”{
身份证:{
类型:Sequelize.INTEGER,
primaryKey:没错,
自动递增:真,
},
名称:Sequelize.STRING,
creationDate:Sequelize.DATE,
客户端类型:Sequelize.STRING,
塞勒里德:{
类型:Sequelize.INTEGER,
AllowFull:false//如果此关联是可选的,则为true
},
});
一些
database.js
文件,您应该在其中注册所有关联:

。。。。
Sellers.hasMany(客户,{foreignKey:'sellerId'});
Clients.belongsTo(卖方,{foreignKey:'sellerId'});
然后您可以创建一个客户机,指明卖家的id:

const seller=wait seller.findOne({
其中:{
名字:“彼得”
}
})
const newClient=wait Client.create({
姓名:'约翰',
sellerId:seller.id,
//这里还有其他领域
})

您需要创建一个链接到现有卖家的新客户端吗?谢谢回复!。是的,这就是我想做的。谢谢你这么好的回复!我有一个问题,为什么在建立卖家与客户的关系时使用外键“sellerId”?它不会在Sellers表中创建一个名为“sellerId”的字段吗?否。
hasMany
中的
foreignKey
选项指示传递模型中的一个字段作为第一个参数(
Clients