我想创建一个如下所示的模型:

var category = db.define('category', {
    name: {
      type: Types.STRING,
    },
    position: {
      type: Types.INTEGER
    }
  }, {
    classMethods:{
      associate: function (models) {
        category.belongsTo(models.category);
        category.hasMany(models.category);
      }
    }
  });

它在我的数据库中起作用,我在类别表中有“CategoryId”,但是当我想在查询中包含类别模型时,它不起作用,我会遇到一个问题:
Error: ER_NONUNIQ_TABLE: Not unique table/alias: 'category'

我的问题是:
this.context.category.findAll({include: [{model: this.context.category}]});

最佳答案

你只需要改变关系的顺序(belongsTo/hasMany)

var category = sequelize.define('category', {
    name: {
      type: Sequelize.STRING,
    },
    position: {
      type: Sequelize.INTEGER
    }
  }, {
    classMethods:{
      associate: function (c) {
        category.hasMany(c);
        category.belongsTo(c);
      }
    }
  });

10-06 14:18
查看更多