2017-09-20 17 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

相關問題