我想包括一个属于关联关联sequelize误差模型没有关联到另一个模型
我有2种型号
用户,团队 团队有许多用户,但用户属于一个队只,和团队有一个团队的领导
这里用户模型定义
module.exports = (sequelize, DataTypes) => {
const user = sequelize.define('user', {
username: {
type: DataTypes.STRING,
allowNull: false
},
password: {
type: DataTypes.STRING,
allowNull: false
},
team_id: {
type: DataTypes.INTEGER,
allowNull: false
}
},
{
classMethods: {
associate: (models) => {
user.belongsTo(models.team,{
targetkey: 'id',
foreignKey: 'team_id'
});
},
},
});
return user;
};
这里是团队模型定义
module.exports = (sequelize, DataTypes) => {
const team = sequelize.define('team', {
name: {
type: DataTypes.STRING,
allowNull: false
},
leader: {
type: DataTypes.INTEGER,
allowNull: false
}
{
classMethods: {
associate: (models) => {
team.hasMany(models.user, {
foreignKey: 'id'
});
team.belongsTo(models.user,{
targetkey: 'id',
foreignKey: 'leader'
});
},
},
});
return team;
};
我想球队信息为每个用户在列表中的用户 像这样
{
"id": 3,
"username": "user123",
"password": "password",
"team_id": 1,
"team": {
"name": "name",
"leader": "leader_name"
}
}
我想包括球队,但反应是空
这里是代码:
list(req, res){
return models.user.findAll({
include: [{
model: models.team
}],
offset: req.query.offset,
limit: req.query.limit
})
.then(function(users){
res.status(200).send(users)
})
.catch(function(error){
res.status(400).send(error)
})
}
响应是空的
产量为{} 误差 队没有关联到用户
方言:Postgres的
数据库版本:9.6.3
Sequelize版本:3.30.4
我不使用别名,我想知道我的定义中可能有什么问题
您的帮助
同样的问题问题对我来说!你是如何解决这个问题的? –
@AliSherafat它是我使用的续集版本,我认为它是3.3,但它是最新的(使用npm安装) – luna