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

128
Vistas
Secuela: tabla de filtro por campos de asociaciones hassMany

Tengo problemas para encontrar y filtrar datos de campos de asociaciones hasMany, estoy usando la siguiente versión de paquetes: "sequelize": "^6.9.0", "mysql2": "^2.3.3-rc.0"

Estas son mis tablas:

 const RequestForm = sequelize.define('RequestForm', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, allowNull: false, noUpdate : true }, type: DataTypes.STRING }) const RequestStatus = sequelize.define('RequestStatus', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, allowNull: false, noUpdate : true }, }) const Employee = sequelize.define('Employee', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, allowNull: false, noUpdate : true }})

Esto es asociaciones:

 RequestStatus.belongsTo(RequestForm); RequestForm.hasMany(RequestStatus); RequestStatus.belongsTo(Employee); Employee.hasMany(RequestStatus);

Estoy tratando de encontrar datos de RequestForm que tengan una de las siguientes condiciones:

  1. Tipo de formulario de solicitud = "Uno"
  2. Tipo de formulario de solicitud = "Dos"
  3. uno de RequestStatus EmployeeId(FK) igual a "123e4567-e89b-12d3-a456-426614174000"

y quiero devolver todo RequestStatus de RequestForm, por lo que no puedo sino incluirlo


Este es mi código pero no funciona y obtiene un error -> original: Error: columna desconocida 'RequestStatus.EmployeeId' en 'cláusula where'

 RequestForm.find({ where: { [Op.or]: [ {type: {[Op.in]: ["One", "Two"]}}, { employee_id_value: Sequelize.where( Sequelize.col("RequestStatuses.EmployeeId"), { [Op.eq]: "123e4567-e89b-12d3-a456-426614174000", } ) }, ] }, include:[ { model: RequestStatus, attributes: ['id', 'EmployeeId'], required: false, }, {Other Models} ] })
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Escribió mal RequestStatus en Sequelize.col y no necesita indicar el campo employee_id_value , use Sequelize.where directamente:

 where: { [Op.or]: [ { type: { [Op.in]: ["One", "Two"] } }, Sequelize.where(Sequelize.col("RequestStatus.EmployeeId"), Op.eq, "123e4567-e89b-12d3-a456-426614174000") ] },
about 4 years ago · Juan Pablo Isaza Denunciar
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