Ошибка при получении значений из таблицы перекрестных ссылок в Sequelize - Ошибка 422 - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь получить данные из таблиц сопоставления с помощью Sequelize -

  1. Родительская таблица [Основная таблица]
  2. Таблица школ [содержит всю информацию о школе]
  3. ParentSchool Table [таблица перекрестных ссылок]

Я пытаюсь отфильтровать данные, выбрав название школы. Когда я делаю это в ответ, мне нужен результат json для продолжения FINDALL, чтобы вернуть всех родителей, связанных с этой школой.

                {
                    //includes the cross-reference table to join the schools with parents 
                    include: [
                        { model: db.parentSchools }, 
                        {
                            model: db.schools, as: "schools",
                            where: {
                                [Op.eq]: [{ name: req.params.school }]
                            }
                        }
                    ]
                }
            ).then(function (results) {
                res.json(results);
                console.log("parents for a school ", results);
            })
ПОСЛЕДОВАТЕЛЬНОСТЬ СИНТАКСА АССОЦИАЦИИ
    Parent.belongsToMany(models.schools, {
      as: "schools",
      through: "parentSchools",
      foreignKey: "parentId"
    });
  };
МОДЕЛЬ ДВА АССОЦИАЦИИ
        // a school belongs to many parents
        School.belongsToMany(models.parents, {
            as: "parents",
            // cross-reference table because a parent can have many schools as well
            through: "parentSchools",
            foreignKey: "schoolId"
        });

Возвращает объект json со значениями для введенного названия школы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...