node.js - NodeJS Sequelize - 错误的关系方向

标签 node.js foreign-keys sequelize.js

我正面临一个问题,因为将两个模型与 Sequelize 联系起来花费了几个小时。

 var Ticket = sequelize.define("Ticket", {

    IDTicketBase: { type:DataTypes.INTEGER, primaryKey: true },
    IDStatus: DataTypes.INTEGER,

  }

associate: function(models){
        models.Ticket.hasOne(models.Status, {foreignKey: 'IDStatus'} );
}

 var Status = sequelize.define("Status", {

    IDStatus : { type:DataTypes.INTEGER, primaryKey: true },
    Name: DataTypes.STRING

  }

  associate: function(models){
        models.Status.belongsTo(models.Ticket, {foreignKey: 'IDStatus'} );
  }

此代码生成关系 Ticket.IDTicketBase = Status.IDStatus。
如果我想要关系 Ticket.IDStatus= Status.IDStatus ,我必须在我的两个模型上写什么?

我想以 1 对 1 的方式进行生产。

感谢您的回复;)

最佳答案

I want to produce on 1 to 1 association.



给你。关系模型中没有 1 对 1 的关系。如果两个关系中的元组之间存在 1 对 1 的关系,那么这只是一种关系,而不是两种关系。

在关系模型中,一对多关系是通过在第二个关系中包含一个关系的主键来建模的,而多对多关系是通过引入包含您想要的两个关系的主键的第三个关系来建模的要连接。真的不存在一对一的关系。例如,您可能会说用户和她的姓名之间存在一对一的关系,但实际上,您只是首先将该姓名包含在用户的关系中。

关于node.js - NodeJS Sequelize - 错误的关系方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43363681/

相关文章:

sequelize.js - Sequelize v6 从目录下的文件加载模型

javascript - 使用 Sequelize 在多个表中插入数据

node.js - 间接关联的 Sequelize

javascript - 迭代 Angular2 中的 Mongoose 帖子

node.js - Nodejs Expressjs Cluster 集群 app.js 的正确方法

MYSQL无法添加外键

database - 两个外键而不是主键

javascript - Node.js 请求正文有一些额外的填充

javascript - Node.js:拆分 n 部分的流内容

python - 我可以使用触发器来添加外键组合吗?