I have model "Subject" which has self relationship with it self "Successor" and "Predecessor". For that i required to create two foreign key "successorId" and "predecessorId".
I am able to create relation but don't how to add entry in foreign key.
Model Subject:
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,
}
);
For example:
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 });
you can identify your relation model 1-n/nn/1-n here link: https://sequelize.org/master/manual/assocs.html example:
Subject.belongsTo(models.Class, { as: 'subject', foreignKey: 'subjectId' });
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.