指定外键。您正在使用的那些键不会自动推断出来。
order.belongsTo(models.user, {foreignKey: 'userID'}); .. user.hasMany(models.order, {foreignKey: 'userID'});
编辑:我重新检查你的帖子,你的用户定义错误。您的最后一个字段“已激活”在外面,关闭上一个对象。这就是为什么它没有阅读你的联想。
updatedAt: { type: DataTypes.DATE, allowNull: true }, }, { activated: { type: DataTypes.BOOLEAN, allowNull: true } }, { classMethods: { associate: function (models) { user.hasMany(models.order); } } });
应该:
updatedAt: { type: DataTypes.DATE, allowNull: true }, activated: { type: DataTypes.BOOLEAN, allowNull: true } }, { classMethods: { associate: function (models) { user.hasMany(models.order); } } });
试试这个。 像这样修改您的关联:
order.belongsTo(models.user, {as : 'User'}); user.hasMany(models.order, {as : 'Orders'});
在查询时:
db.user.findAll({ include: [{model: db.order, as: 'Orders'}] }) .then(users => { res.json(users) });