作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在网上看了类似的问题/错误,没有一个对我有帮助...
未处理的拒绝 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;
};
我将它们关联起来,并建立了双向关系..
最佳答案
当您使用 finder 函数与 as 选项关联时,Sequelize 无法找到该别名,因为它没有在任何地方明确定义。请试试这个:
User.associations = function (models) {
User.hasMany(models.Task, { as: 'tasks' });
};
希望这对您有所帮助。
关于node.js - A 与 B 无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46326157/
我是一名优秀的程序员,十分优秀!