Mysql
 sql >> база данни >  >> RDS >> Mysql

Sequelize Find принадлежи на много асоциация

Трябва да дефинирате псевдонима as също в belongsToMany асоциация

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

Сега ще можете да направите заявка за Course с всичките си ученици и обратно

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

Можете също да използвате get/set Associations методи за извличане или задаване на свързани обекти

// 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 цикъл през таблици

  2. mysql.connector - Имате грешка във вашия SQL синтаксис; близо до „%s“ на ред 1

  3. mysql съвпадение срещу множество думи

  4. Как да получите достъп до MySQL с MySQL Root потребител

  5. MySQL Изберете само един ред от всеки пациент, диагностициран според първата дата