Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

237
Vistas
¿Cómo pasar el valor de la consulta en esta propia consulta?

¿Cómo pegar el valor de la consulta en la consulta?

Quiero obtener datos del usuario, incluido su par (asociación). Para separar dos asociaciones de una tabla a otra tabla, uso "as". Por favor, ayúdame.

Traté de usar el nombre de la clase y sequelize.col, pero aparentemente estoy haciendo algo mal.

Error

 UnhandledPromiseRejectionWarning: SequelizeEagerLoadingError: Pairs is associated to Users multiple times. To identify the correct association, you must use the 'as' keyword to specify the ali as of the association you want to include.

Consulta

 const user = await userModel.findOne({ where: { id:userId }, attributes: ['id', 'login', 'sex'], include: { model: pairModel, as: userModel.sex } });

Modelo de usuario

 'use strict'; const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => { class User extends Model { /** * Helper method for defining associations. * This method is not a part of Sequelize lifecycle. * The `models/index` file will call this method automatically. */ static associate(models) { // define association here User.hasOne(models.pair, { as: 'male', foreignKey: 'maleId', }); User.hasOne(models.pair, { as: 'female', foreignKey: 'femaleId', }); /*User.hasMany(models.Pair, { foreignKey: 'firstId', foreignKey: 'secondId', });*/ } }; User.init({ login: DataTypes.STRING, password: DataTypes.STRING, sex: { type: DataTypes.STRING, defaultValue: "male" }, }, { sequelize, modelName: 'Users', }); return User; };

Par modelo

 'use strict'; const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => { class Pair extends Model { /** * Helper method for defining associations. * This method is not a part of Sequelize lifecycle. * The `models/index` file will call this method automatically. */ static associate(models) { // define association here Pair.belongsTo(models.user, { as: 'male', foreignKey: 'maleId' }); Pair.belongsTo(models.user, { as: 'female', foreignKey: 'femaleId' }); } }; Pair.init({ homeWork: DataTypes.STRING, }, { sequelize, modelName: 'Pairs', },); return Pair; };
about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda