Связанные таблицы Sequelize

Я пытаюсь реализовать связанные таблицы postgresql один-ко-многим с помощью Sequelize. У меня есть две таблицы: categories и subcategories. Вот сами модели:

module.exports = (sequelize, Sequelize) => {
  const Categories = sequelize.define("categories", {
        name: {
            type: Sequelize.STRING
        },
    }, {
    timestamps: false
});
  return Categories;
}

Вторая модель:

module.exports = (sequelize, Sequelize) => {
    const Subcategories = sequelize.define("subcategories", {
        name: {
          type: Sequelize.STRING
        },
        categoryid: {
          type: Sequelize.INTEGER,
      }
    }, {
    timestamps: false
});
  return Subcategories;
}

Далее я их связываю в файле index.js

db.categories =  require("./categories.model.js")(sequelize, Sequelize);
db.subcategories =  require("./subcategories.model.js")(sequelize, Sequelize);
db.categories.hasMany(db.categories); 
db.subcategories.belongsTo(db.categories, {foreignKey: 'categoryId'});

В файле categories.controller.js я пытаюсь реализовать метод, который возвращал бы мне категории с подкатегориями:


exports.findAllWithSubcategories = (req, res) => {
  Categories.findAll({
    include:[{
      model: Subcategories
    }],
  })

В файле routes я определяю путь так:

module.exports = app => {
    const categories = require("../controllers/categories.controller");

    var router = require("express").Router();
 router.get("/subcategories", categories.findAllWithSubcategories);

    app.use("/api/categories", router);
};

и далее я пытаюсь уже на стороне клиента вызвать этот метод:

const getAllCategoriesWithSub = () => {
  fetch('https://fierce-jodhpurs-cow.cyclic.app/api/categories/subcategories', {
    method: 'GET',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
    },
  })
    .then((res) => res.json())
    .then((res) => console.log(res))
    .then((res) => res)
    .catch((err) => console.error(err));
};

Но мне приходит ошибка, как будто бы я вызываю метод findOne с id - router.get("/:id", categories.findOne); (именно этот у меня возвращает такую ошибку): "Error retrieving Categories with id=subcategories"


Ответы (0 шт):