Sequelize ownToMany со второй таблицей ownToMany - устанавливается сразу

У меня есть следующие таблицы

const Employee = db.define('employee', {
  ...
})

const CapabilityType = db.define('capabilityType', {
  ...
})

const Capability = db.define('capability', {
  id: {type: Sequelize.INTEGER, autoIncrement: true, primaryKey: true, unique: true},
  since: {type: Sequelize.DATEONLY, allowNull: true},
  comment: {type: Sequelize.STRING, allowNull: true}
})

const UploadFile = db.define('file', {
  ...
})

Employee.belongsToMany(CapabilityType, {through: Capability})
Capability.belongsToMany(UploadFile, {through: 'capabilityFiles'})

Это означает, что у сотрудника может быть много типов возможностей. Это делается через таблицу возможностей. Но с одной возможностью может быть связано несколько файлов. Таким образом, у него есть еще одна принадлежность через добавленную дополнительную таблицу'abilityFiles '.

Я достиг добавления возможностей с дополнительными данными, как это:

const caps = capabilities.map(c => {
  const ct = CapabilityType.build({id: c.capabilityTypeId}, {isNewRecord: false})
  ct.capability = {since: c.since, comment: c.comment}
  return ct
})
Employee.build({id: employeeId}, {isNewRecord: false}).setCapabilityTypes(caps)

Я также попытался добавить файлы: c.files к объекту возможности, но это не решило проблему.

Кто-нибудь может мне помочь?

0 ответов

Другие вопросы по тегам