Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

122
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!