Продолжить включение через ассоциацию

#javascript #sql #sequelize.js

#javascript #sql #sequelize.js

Вопрос:

Возможно ли в sequelize включить включение через ассоциацию.. я пробовал подобный показанный код, но он возвращает ошибку…

Ошибка типа: не удается прочитать свойство ‘includes’ неопределенного

я использую диалект sql

 let instructorGrade = await model.Instructor.findOne({
                where: { id },
                attributes: ['id'],
                include: [
                    {
                        model: model.SchoolGrade,
                        as: 'instructorSchoolGrades',
                        through: {
                            include: [
                                {
                                    model: model.Grade,
                                    as: 'schoolGrades'
                                },
                                {
                                    model: model.Section,
                                    as: 'schoolGradeSection'
                                }
                            ]
                        }
                    }
                ]
            });
  

Вот проблема с github, которая такая же, как у меня, но я не нашел никакого решения
[1]: https://github.com/sequelize/sequelize/issues/10828

Ответ №1:

вы должны использовать вложенную нетерпеливую загрузку. Так, например, ваш запрос может быть чем-то вроде:

 let instructorGrade = await model.Instructor.findOne({
    where: { id },
    attributes: ['id'],
    include: [
        {
            model: model.SchoolGrade,
            as: 'instructorSchoolGrades',
            include: [
                {
                    model: model.Grade,
                    as: 'schoolGrades'
                },
                {
                    model: model.Section,
                    as: 'schoolGradeSection'
                }
            ]

        }
    ]
});