Я использую sequelize для связи с базой данных.
Я уже связал 2 модели, но когда я получаю эти модели, они показывают мне ошибку.
вот мой код для модели
const Sequelize = require('sequelize');
const sequelize = require('../database/database');
const Purpose = sequelize.define('purpose', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false
},
title: {
type: Sequelize.STRING,
allowNull: false
},
weighting: {
type: Sequelize.STRING,
allowNull: false
},
iconsUrl: {
type: Sequelize.STRING,
allowNull: false
}
})
module.exports = Purpose;
и вот как я связал это предложение с другой таблицей
PurposeList.belongsToMany(User, { through: PurposeUser });
User.hasMany(LifeArea);
когда я получаю таблицу или добавляю include: [ { model: PurposeUser, as: 'projects' } ],
получаю эту ошибку purposeUser is not associated to purpose!
Я использую это с Angular 7.
Я не уверен, что это связано с angular, или я что-то неправильно использую.
exports.getUserPurpose = (req, res, next) => {
const userID = req.userData.userId;
const purposesList = [];
PurposeUser.findAll({ where: {userId: userID },
order: ['menuOrder'],
})
.then(results => {
const purposeID = [];
results.map(res => {
purposeID.unshift(res.dataValues.purposeId);
purposesList.unshift({id: res.dataValues.id, purposeId: res.dataValues.purposeId, weighting: res.dataValues.weighting})
});
return Purpose.findAll({
include: [ { model: PurposeUser, as: 'projects' } ],
where: {id: purposeID},
})
})
.catch(err => console.log('err', err));
}```