Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sequelize Find gehörtToMany Association

Sie müssen den Alias ​​as definieren auch in belongsToMany Verein

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

Jetzt können Sie Course abfragen mit all seinen Schülern und umgekehrt

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

Sie können auch get/set Associations verwenden Methoden, um zugeordnete Objekte abzurufen oder zu setzen

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