在网上看到类似的问题/错误,他们都没有帮助我......
未处理拒绝SequelizeEagerLoadingError:任务未与用户关联!
我的用户路线
router.get('', function (req, res) {
models.User.findAll({
include: [
{
model: models.Task,
as: 'tasks'
}
]
}).then(function (users) {
res.send(users);
});
});
用户模型
'use strict';
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
first_name: DataTypes.STRING,
last_name: DataTypes.STRING,
email: DataTypes.STRING
}, {
underscored: true
});
User.associations = function (models) {
User.hasMany(models.Task, { as: 'tasks' });
};
return User;
};
任务模型
'use strict';
module.exports = (sequelize, DataTypes) => {
const Task = sequelize.define('Task', {
name: DataTypes.STRING
}, {
underscored: true
});
Task.associations = function (models) {
Task.belongsTo(models.User);
};
return Task;
};
我将它们联系起来,并建立了双向关系..
答案 0 :(得分:0)
当您使用finder函数与作为选项关联时,Sequelize无法找到该别名,因为它未在任何地方明确定义。请尝试这个:
User.associations = function (models) {
User.hasMany(models.Task, { as: 'tasks' });
};
希望这有帮助。