【发布时间】:2015-05-13 11:25:30
【问题描述】:
我有 2 个模型:User 和 Team
有多种用户(在本例中为导师和版主),使用User model() 中的属性进行区分。 User和Team之间的关联如下:
User.hasMany(models.Team, {as: 'Mentors', through: models.TeamMentor, foreignKey: 'mentorId'});
User.hasMany(models.Team, {as: 'Moderators', through: models.TeamModerator, foreignKey: 'moderatorId'});
Team.hasMany(models.User, {through: models.TeamMentor, foreignKey: 'teamId'});
Team.hasMany(models.User, {through: models.TeamModerator, foreignKey: 'teamId'});
现在我正在尝试获取团队的详细信息以及分配给团队的所有导师和主持人的单独对象。我从文档中了解了多对多关系的 getter 和 setter,但我不确定如何使用该方法,因为这里的两个模型之间有两种不同类型的关联:
- 团队 - 导师(用户)
- 团队 - 版主(用户)
在这种情况下如何正确查询团队的详细信息?
PS:TeamMentor 和 TeamModerator 是帮助多对多连接的空模型
【问题讨论】:
标签: database node.js many-to-many sequelize.js eager-loading