Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sequelize Trouver l'association AppartenToMany

Vous devez définir l'alias as également dans le belongsToMany association

models.Person.belongsToMany(models.Course, { as: 'CourseEnrolls', through: { model: Enrollment }, foreignKey: 'StudentEnrollId'});
models.Course.belongsToMany(models.Person, { as: 'StudentEnrolls', through: { model: Enrollment }, foreignKey: 'CourseEnrollId'});

Vous pourrez maintenant interroger Course avec tous ses étudiants et vice-versa

models.Course.findByPrimary(1, {
    include: [
        {
            model: models.Person,
            as: 'StudentEnrolls'
        }
    ]
}).then(course => {
    // course.StudentEnrolls => array of Person instances (students of given course)
});

Vous pouvez également utiliser get/set Associations méthodes pour récupérer ou définir des objets associés

// assuming that course is an instance of Course model
course.getStudentEnrolls().then(students => {
    // here you get all students of given course
});