Каков внешний ключ в соединении «один ко многим» в дальнейшем? - PullRequest
0 голосов
/ 27 марта 2020

У меня есть модель Institution, где Учреждение может принадлежать к Parent Institution, и я настраиваю это как самостоятельное соединение на таблице institutions.

Я использую sequelize, чтобы установить это значение на postgres, и в документах рассказывается о том, как установить самостоятельное соединение для ассоциации многие-ко-многим, но моя модель использует одно-к-одному -много самостоятельного объединения (т.е. родительское учреждение может иметь много детей, но детское учреждение может принадлежать только одному родителю).

Это моя модель:

module.exports = (sequelize, DataTypes) => {
  const Institution = sequelize.define(
    'Institution',
    {
      /* ... */

      parentId: DataTypes.INTEGER,

      /* ... */
    },
    {}
  )
  Institution.associate = function (models) {
    // associations can be defined here
    Institution.belongsTo(Institution, {
      foreignKey: 'institutionId',
      as: 'parent',
    })
  }
  return Institution
}

Что я ' я не уверен в том, что поставить как foreignKey в приведенной выше ассоциации - должно ли это быть institutionId, как я это сказал сейчас (т.е. с параметром as: parent), или это должно быть parentId?

Заранее спасибо!

1 Ответ

0 голосов
/ 27 марта 2020

Это должно быть parentId , поскольку это поле является ссылкой на родительское учреждение

...