evgajukov
@evgajukov
Java разработчик

Почему при запросе данные через Sequelize выдается ошибка, что нужно указать алиас?

Использую:
"sequelize": "^6.6.5",
"sequelize-typescript": "^2.1.0",

Есть модель данных компании, которая может быть дочкой другой компании и соответственно имеется:
@ForeignKey(() => Company)
@Column({
    type: DataType.INTEGER
})
parentId: number;

@BelongsTo(() => Company, "parentId")
parent: Company;

@HasMany(() => Company, "parentId")
subsidiaries: Company[];


Через миграцию добавляю в БД:
"parentId": {
          "onDelete": "NO ACTION",
          "onUpdate": "CASCADE",
          "references": {
            "model": "companies",
            "key": "id"
          },
          "allowNull": true,
          "type": Sequelize.INTEGER
        },


В БД все хорошо:
6124c9bef2da9638045032.png
6124c9f8375ba913318144.png

Но когда запрашиваю из БД через
const company = await Company.findByPk(companyId, { include: [{ model: Company, as: "parentId" }] });


Выдается ошибка:
Company is associated to Company multiple times. To identify the correct association, you must use the 'as' keyword to specify the alias of the association you want to include.
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы