ошибка в sequelize> "name": "SequelizeEagerLoadingError" - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть две таблицы:

//User.js

module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define("User", {
    userId: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
      primaryKey: true,
    },
    email: {
      type: DataTypes.STRING,
    },
    firstName: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    lastName: {
      type: DataTypes.STRING,
      defaultValue: "",
    },
    password: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    chapterId: {
      type: DataTypes.STRING,
    },
  });

  User.associate = (models) => {
    User.belongsTo(models.Chapter, {
      foreignKey: "chapterId",
      targetKey: "chapterId",
      as: "chapter",
    });
  };

  return User;
};

и

//chapter table

module.exports = (sequelize, DataTypes) => {
  const Chapter = sequelize.define("Chapter", {
    chapterId: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
      primaryKey: true,
    },
    chapterName: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    isChapterLocal: {
      type: DataTypes.BOOLEAN,
      allowNull: false,
    },
  });

  Chapter.associate = (models) => {
  };

  return Chapter;
};

, и я пытаюсь выбрать пользователей с включенными в него главами.

let getAll = async (req, res) => {
  try {
    const userData = await db.User.findAll({
      include: [
        {
          model: Chapter,
          as: "chapter",
        },
      ],
    });
    res.send(userData);
  } catch (e) {
    res.send(e);
  }
};

как включить идентификатор главы и название главы из таблицы глав, как представлено в строке chapterId для пользовательской таблицы. Я новичок в секвелировании и MySQL и не уверен, что отношение, которое я определил в пользовательской модели, хорошее. Нужно ли определять ассоциации в обеих таблицах.

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