2017-09-20 16 views
2

看着在互联网上关于类似的问题/错误,没有人帮我...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; 
}; 

我他们两个联系起来,并提出了双向关系..

回答

0

由于您正在使用取景器功能与作为选项关联,所以Sequelize无法找到该别名,因为它没有在任何地方显式定义。请尝试这一个:

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

希望这会有所帮助。

+0

我仍然收到相同的错误... – yooouuri

相关问题