我正在面对一个问题,因为很少用两小时将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的关联产生。
感谢您的回复;)
答案 0 :(得分:0)
我希望以1比1的关联产生。
你走了。关系模型中没有1对1的关系。如果你在两个关系中的元组之间有一对一的关系,那么这只是一个关系,而不是两个。
在关系模型中,通过在第二个关系中包含一个关系的主键来建模一对多关系,并通过引入包括两个关系的主键的第三关系来建模多-t-many关系。你想要连接。真的没有一对一的关系。例如,您可能会说用户与其姓名之间存在一对一的关系,但实际上您只是在用户的关系中包含该名称。