A与B没有关联

在互联网上看到类似的问题/错误,没有一个帮助我…

未处理的拒绝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; }; 

我把他们联系在一起,并且build立了双向关系。

由于您正在使用查找器function与选项关联,所以Sequelize无法find该别名,因为它没有在任何地方显式定义。 请试试这个:

 User.associations = function (models) { User.hasMany(models.Task, { as: 'tasks' }); }; 

希望这可以帮助。