Как мне написать ассоциацию для модели A, которая принадлежит либо к модели B, либо к модели C, но не к обеим?
Допустим, у меня есть модель сотрудника, модель подрядчика и модель события.Связано следующим образом: у сотрудника много событий.
у подрядчика много событий.
событие принадлежит либо подрядчику, либо сотруднику.
Создать ли объединенную таблицу employee_contractor и сказать, что событие принадлежит employee_contractor?
Это, вероятно, довольно тривиально, но я очень новичок в программировании Sequelize / DB. Мне трудно понять, когда ичто использовать.Я знаю, что, возможно, есть ответы на подобные вопросы, но я не знаю, как правильно сформулировать мой вопрос, чтобы найти их.
// Employee model
'use strict';
module.exports = (sequelize, DataTypes) => {
const Employee = sequelize.define('Employee', {
firstName: DataTypes.STRING,
lastName: DataTypes.STRING,
// other fields
//...
}, {});
Employee.associate = function(models) {
// associations can be defined here
};
return Employee;
};
// Contractor model
'use strict';
module.exports = (sequelize, DataTypes) => {
const Contractor = sequelize.define('Contractor', {
firstName: DataTypes.STRING,
lastName: DataTypes.STRING,
company: DataTypes.STRING,
// other fields
//...
}, {});
Contractor.associate = function(models) {
// associations can be defined here
};
return Contractor;
};
// Event Model
'use strict';
module.exports = (sequelize, DataTypes) => {
const Event = sequelize.define('Event', {
reason: DataTypes.STRING,
escort: DataTypes.STRING,
// other fields
//...
}, {});
Event.associate = function(models) {
// associations can be defined here
};
return Event;
};