Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sequelize Znajdź należące do wielu stowarzyszenia

Musisz zdefiniować alias as także w belongsToMany stowarzyszenie

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

Teraz będziesz mógł zapytać o Course ze wszystkimi studentami i na odwrót

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

Możesz także użyć get/set Associations metody w celu pobrania lub ustawienia powiązanych obiektów

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL SUM z tym samym identyfikatorem

  2. Laravel :Jak przechowywać dane w formacie json w bazie danych?

  3. Czy istnieje odpowiednik MySQL dla PostgreSQL array_to_string?

  4. Zmień div zgodnie z wybranymi polami rozwijanymi

  5. Left Join osiąga lepsze wyniki niż Inner Join?