Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

671
Visualizações
No entiendo este error: "SequelizeEagerLoadingError"

Cuando pruebo mi ruta con el cartero, tengo este error: "SequelizeEagerLoadingError"

Intenté crear una configuración adicional para mi clave externa porque encontré esta solución ( https://forum.freecodecamp.org/t/nodejs-sequelize-eager-loading-error/480312/7 ) pero el problema es similar .

controladores/post.js:

 exports.getAllPost = (req, res, next) => { /*** on récupère tous les posts ***/ Post.findAll({ include: [{ model: User, attributes: ['username'] }], }) /*** si tout est ok ***/ .then(post => res.status(200).json({ post })) /*** sinon on envoie une erreur ***/ .catch(error => res.status(400).json({ error, })) };

modelos/index.js:

 require('dotenv').config(); const dbConfig = require("../config/db.config.js"); const Sequelize = require("sequelize"); const { applyExtraSetup } = require('./extra-setup'); const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, { host: dbConfig.HOST, dialect: dbConfig.dialect, operatorsAliases: false, pool: { max: dbConfig.pool.max, min: dbConfig.pool.min, acquire: dbConfig.pool.acquire, idle: dbConfig.pool.idle } }); const db = {}; db.Sequelize = Sequelize; db.sequelize = sequelize; db.users = require("./user.js")(sequelize, Sequelize); db.posts = require("./post.js")(sequelize, Sequelize); db.comments = require("./comment.js")(sequelize, Sequelize); applyExtraSetup(sequelize); module.exports = db;

modelos/post.js:

 module.exports = (sequelize, Sequelize) => { const Post = sequelize.define( "post", { userId: { type: Sequelize.INTEGER }, title: { type: Sequelize.STRING(40) }, }, ); return Post; };

modelos/configuración adicional.js:

 function applyExtraSetup(sequelize) { const { user, post, comment} = sequelize.models; user.hasMany(post, { foreignKey : 'userId', targetKey: 'id' }); post.hasMany(comment, { foreignKey : 'postId', targetKey: 'id' }); user.hasMany(comment, { foreignKey : 'userId', targetKey: 'id' }); } module.exports = { applyExtraSetup };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Para obtener publicaciones junto con usuarios como modelos asociados, debe definir una asociación del modelo de post al modelo de user :

 user.hasMany(post, { foreignKey : 'userId', targetKey: 'id' }); post.belongsTo(user, { foreignKey : 'userId', targetKey: 'id' });
about 4 years ago · Juan Pablo Isaza Relatório

0

Sí ! es bueno !

 db.users.hasMany(db.posts, { foreignKey : 'userId', targetKey: 'id' }); db.posts.belongsTo(db.users, { foreignKey : 'userId', targetKey: 'id' }); db.comments.belongsTo(db.users, { foreignKey : 'userId', targetKey: 'id' }); db.comments.belongsTo(db.posts, { foreignKey : 'postId', targetKey: 'id' });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda