我在Node中使用Sequelize并且有一个表名 User
和 Auth
:
User
id
name
Auth:
id
token
我想为这个模型添加关系 .
User
与 Auth
有很多 Auth
, to-many
关系 .
Auth
与 User
只能有一个 User
, to-one
关系 .
我在我的模型文件中有一个类实例,我用它来创建与以下代码的关系:
tableName: 'User',
classMethods: {
associate: function (models) {
user.belongsToMany(user, { through: { model: models.auth }, as: `user` })
}
此代码在 Auth
中创建一个名为 userId
的字段 .
我希望得到的是以下内容:
User
id
name
auths //an array that will contain all instances of Auth by this User
Auth:
id
token
user //an object of User to whom this Auth object belongs to
我究竟做错了什么?
1 回答
尝试一下:
这会将
userId
列添加到auth
表中 .要查询它(请注意查询中的
include
),您也可以反之亦然:您可能需要查看one-to-many,hasOne关系的sequelize文档和hasMany,hasOne API以获取更多信息 .