Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
168 views
in Technique[技术] by (71.8m points)

javascript - EagerLoadingError [SequelizeEagerLoadingError]: grl_entidade is not associated to stn_matriz_gerada

I have this error and can`t find a way arround it: EagerLoadingError [SequelizeEagerLoadingError]: grl_entidade is not associated to stn_matriz_gerada!

I have tryed many things, currently this is the way my app is:

stn_matriz_gerada.js

const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
  return sequelize.define('stn_matriz_gerada', {
    conta: {
      type: DataTypes.STRING,
      allowNull: true,
      primaryKey: true
    },
    v1: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t1: {
      type: DataTypes.STRING,
      allowNull: true
    },
    v2: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t2: {
      type: DataTypes.STRING,
      allowNull: true
    },
    v3: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t3: {
      type: DataTypes.STRING,
      allowNull: true
    },
    v4: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t4: {
      type: DataTypes.STRING,
      allowNull: true
    },
    v5: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t5: {
      type: DataTypes.STRING,
      allowNull: true
    },
    v6: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t6: {
      type: DataTypes.STRING,
      allowNull: true
    },
    v7: {
      type: DataTypes.STRING,
      allowNull: true
    },
    t7: {
      type: DataTypes.STRING,
      allowNull: true
    },
    valor: {
      type: DataTypes.DOUBLE,
      allowNull: true
    },
    tipo: {
      type: DataTypes.STRING,
      allowNull: true
    },
    tipo_int: {
      type: DataTypes.INTEGER,
      allowNull: true
    },
    natureza_valor: {
      type: DataTypes.STRING,
      allowNull: true
    },
    exercicio: {
      type: DataTypes.INTEGER,
      allowNull: true
    },
    mes: {
      type: DataTypes.INTEGER,
      allowNull: true
    },
    grl_entidade: {
      type: DataTypes.INTEGER,
      allowNull: true,
      references: {
        model: 'grl_entidade',
        key: 'id'
      }
    },
    conteudo_txt: {
      type: DataTypes.TEXT,
      allowNull: true
    }
  }, {
    sequelize,
    tableName: 'stn_matriz_gerada',
    schema: 'public',
    timestamps: false
  });
};

init-models.js

var DataTypes = require("sequelize").DataTypes;
var _grl_entidade = require("./grl_entidade");
var _grl_entidade_tipo = require("./grl_entidade_tipo");
var _grl_municipio = require("./grl_municipio");
var _grl_uf = require("./grl_uf");
var _stn_matriz_gerada = require("./stn_matriz_gerada");

function initModels(sequelize) {
  var grl_entidade = _grl_entidade(sequelize, DataTypes);
  var grl_entidade_tipo = _grl_entidade_tipo(sequelize, DataTypes);
  var grl_municipio = _grl_municipio(sequelize, DataTypes);
  var grl_uf = _grl_uf(sequelize, DataTypes);
  var stn_matriz_gerada = _stn_matriz_gerada(sequelize, DataTypes);

  grl_entidade_tipo.hasMany(grl_entidade, 
    { foreignKey: { name: "grl_entidade_tipo"},
                      as: "grl_entidade_tipo_fk"},);
  grl_entidade.belongsTo(grl_entidade_tipo, 
    { foreignKey: { name: "grl_entidade_tipo"},
                      as: "grl_entidade_tipo_fk"},);

  grl_municipio.hasMany(grl_entidade, 
    { foreignKey: { name: "grl_municipio"}, 
                      as: "grl_municipio_fk"},);                      
  grl_entidade.belongsTo(grl_municipio, 
    { foreignKey: { name: "grl_municipio"}, 
                      as: "grl_municipio_fk"},);

  grl_uf.hasMany(grl_municipio, 
    { foreignKey: { name: "grl_uf"}, 
                      as: "grl_uf_fk"},);
   grl_municipio.belongsTo(grl_uf, 
    { foreignKey: { name: "grl_uf"}, 
                      as: "grl_uf_fk"},);

   grl_entidade.hasMany(stn_matriz_gerada, 
    { foreignKey: { name: "grl_entidade"}, 
                      as: "grl_entidade_fk"},);                      
  stn_matriz_gerada.belongsTo(grl_entidade, 
    { foreignKey: { name: "grl_entidade"}, 
                      as: "grl_entidade_fk"},);


  return {
    grl_entidade,
    grl_entidade_tipo,
    grl_municipio,
    grl_uf,
    stn_matriz_gerada,
  };
}
module.exports = initModels;
module.exports.initModels = initModels;
module.exports.default = initModels;

MscService.js


class MscService {
  static async getAllMscs() {
    try {
      return await database.stn_matriz_gerada.findAll();
    } catch (error) {
      throw error;
    }
  }

  static async getAMsc(conta) {
    try {
      const theMsc = await database.stn_matriz_gerada.findAll({
        where: { conta: Number(conta) },
         include: [ {model: database.grl_entidade, as: 'grl_entidade_fk' }]
      });

      return theMsc;
    } catch (error) {
      console.log(error);
      throw error;
    }
  }


}

export default MscService;

It has hasMany and belongsTo but stills give me the error of EagerLoadingError [SequelizeEagerLoadingError]: grl_entidade is not associated to stn_matriz_gerada!

Version: "sequelize": "^6.3.5",

Can anyone help me please?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...