[英]Sequelize: Create multiple self association
我有 model “主題”,它與自己的“繼任者”和“前任者”有自我關系。 為此,我需要創建兩個外鍵“successorId”和“predecessorId”。
我能夠創建關系,但不知道如何在外鍵中添加條目。
Model 主題:
const { sequelize } = require('../config/databaseInit');
const { DataTypes, Model } = require('sequelize');
class Subject extends Model {}
Subject.init(
{
subjectCode: {
type: DataTypes.STRING(40),
unique: true,
},
subjectName: {
type: DataTypes.STRING(60),
allowNull: false,
},
...
...
...
successorId: {
type: DataTypes.INTEGER,
references: {
model: 'Subject',
key: 'id',
},
},
predecessorId: {
type: DataTypes.INTEGER,
references: {
model: 'Subject',
key: 'id',
},
},
},
{
sequelize: sequelize,
modelName: 'Subject',
tableName: 'Subject',
timestamps: true,
}
);
例如:
const sub1 = await Subject.create({....});
const sub2 = await Subject.create({....});
// None of them are working.
sub1.setSuccessorId(sub2);
sub1.setSuccessor(sub2);
sub1.update({ successorId: sub1.id });
您可以在此處確定您的關系 model 1-n/nn/1-n 鏈接: https://sequelize.org/master/manual/assocs.ZFC35FDC70D5FC69D269883A822C7A53
Subject.belongsTo(models.Class, { as: 'subject', foreignKey: 'subjectId' });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.