Você precisa definir o alias
as
também no belongsToMany
Associação models.Person.belongsToMany(models.Course, { as: 'CourseEnrolls', through: { model: Enrollment }, foreignKey: 'StudentEnrollId'});
models.Course.belongsToMany(models.Person, { as: 'StudentEnrolls', through: { model: Enrollment }, foreignKey: 'CourseEnrollId'});
Agora você poderá consultar
Course
com todos os seus alunos e vice-versa models.Course.findByPrimary(1, {
include: [
{
model: models.Person,
as: 'StudentEnrolls'
}
]
}).then(course => {
// course.StudentEnrolls => array of Person instances (students of given course)
});
Você também pode usar
get/set Associations
métodos para recuperar ou definir objetos associados // assuming that course is an instance of Course model
course.getStudentEnrolls().then(students => {
// here you get all students of given course
});