所以我有一个用户可以使用很多很多模块。用户表有一个模块字段,它是一个 module_id 数组。我想我应该做一个一对多的协会。这是对的吗? 所以我做了这样的协会:
User.belongsTo(Module, {
as: "user_module",
foreignKey: "module_id",
sourceKey: "module",
constraints: false,
});
Module.hasMany(User, {
sourceKey: "module_id",
foreignKey: "module",
constraints: false,
});
用户表有这两个属性:
user_id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true,
},
module: {
type: DataTypes.ARRAY(DataTypes.UUID),
allowNull: true,
},
当我尝试添加一个新用户时,它会创建一个用户,我可以将 module_id 添加为数组,但是当我尝试查询 user_module 时,它为空。 我这样查询用户:
await db.user.findAll({
raw: true, include: [
{
model: Module,
as: 'user_module'
}
]
})
我哪里做错了?我该如何解决?