1
如何在表users
和user_friend
之间创建正确的关系?我想要加入请求到user_friends
表。如何在Sequelize中创建关系
var User = db.define('users', {
userId: {
primaryKey: true,
autoIncrement: true,
type: Sequelize.INTEGER,
allowNull: false,
field: 'user_id'
},
login: {
type: Sequelize.STRING,
isUnique: true
}
}, {
freezeTableName: true,
classMethods: {
associate: function (models) {
User.hasMany(models.UserFriend, { as: 'Friends', foreignKey: 'user' });
}
}
});
var UserFriend = db.define('user_friend', {
user: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: 'users',
key: 'user_id'
}
},
friend: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: 'users',
key: 'user_id'
}
}
}, {
freezeTableName: true,
classMethods: {
associate: function (models) {
UserFriend.belongsTo(models.User, { foreignKey: 'user_id', targetKey: 'user' });
UserFriend.belongsTo(models.User, { foreignKey: 'user_id', targetKey: 'friend' });
}
}
});
User.friends = function (id) {
return UserFriend.findAll({
where: { user: id },
include: [
{ model: User }
]
});
};
当我打电话User.friends(1)
它抛出一个错误
Unhandled rejection Error: users is not associated to user_friend!