sequelize多对多查询怎么用?[已解决]

业务背景
有三张表关系如下:
老师表teacher:id,name
学生表student:id,name
老师学生关系表relation:id,teacher_id,student_id
以上三张表已经在mysql中建立好了外键关系
问题
在sequelize里面怎么查询某个老师对应的所有学生信息呢?根据官方文档的来,只能查进行两个表的联合查询,这涉及到3个表的,就搞不出来啦......
代码
db.teacher.hasMany(db.relation,{
foreignKey:`teacher_id`
});
db.relation.hasMany(db.student,{
foreignKey:`id`,
targetKey:'student_id`
})
//接下来怎么做???????????~~~
明月笑刀无情
浏览 2127回答 2
2回答

开满天机

我之前是这么做的://定义从teacher到student的关联关系db.teacher.belongsToMany(db.student,{through:db.relation,foreignKey:'teacher_id'})//定义从student到teacher的关联关系db.student.belongsToMany(db.teacher,{through:db.relation,foreignKey:'student_id'})//查询teacher表,指定一个teacheriddb.teacher.findAll({include:[{model:db.student}],where:{id:"某一个teacherid"}})祝你成功!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript