我在节点中使用Sequelize并且有一个表名@JsonIgnoreProperties({"user"})
public Set<SiteAdmin> getSiteAdmins() {
return this.siteAdmins;
}
和User
:
Auth
我想为这个模型添加关系。
User
id
name
Auth:
id
token
与User
有很多Auth
,to-many
的关系。
Auth
只能与Auth
建立一个User
,to-one
。
我的模型文件中有一个类实例,我用它来创建与以下代码的关系:
User
此代码在tableName: 'User',
classMethods: {
associate: function (models) {
user.belongsToMany(user, { through: { model: models.auth }, as: `user` })
}
中创建一个名为Auth
的字段。
我希望得到以下内容:
userId
我做错了什么?
答案 0 :(得分:1)
尝试一下:
var User = sequelize.define('User', {
...
classMethods: {
associate: function (models) {
User.hasMany(models.Auth, {as: 'auths'});
}
}
};
var Auth = sequelize.define('Auth', {
...
classMethods: {
associate: function (models) {
Auth.belongsTo(models.User, {as: 'user'});
}
}
};
这会在userId
表格中添加auth
列。
要查询它(请注意查询中的include
),您也可以反之亦然:
User.findOne({
include: [Auth]
})
您可能需要查看one-to-many,hasOne关系的续集文档以及hasMany,hasOne API以获取更多信息。