【发布时间】:2019-06-19 00:40:53
【问题描述】:
我正在使用 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);
当我 getpupose 表或添加include: [ { model: PurposeUser, as: 'projects' } ], 时得到此错误purposeUser is not associated to purpose!
我在 Angular 7 中使用它。
我不确定这是否与角度有关,或者我使用的东西有误。
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));
}```
【问题讨论】:
标签: node.js angular sequelize.js