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

159
Views
Secuela excluir orderBy de subQuery

Tratando de usar el método secuencial findAndCountAll para obtener elementos. Tengo que usar distinto y compensar con límite debido a mi tarea.

El problema es que en el modelo asociado tengo una columna con tipo de matriz, y necesito ordenar el modelo principal por esa longitud de matriz.

Mi consulta se parece a:

 const { rows, count } = await this.repo.findAndCountAll({ where: { someField: someValue }, col: 'someCol', distinct: true, include: [ { model: someNestedModel, as: 'someNestedModelAssociation', include: [{ model: someInnerNestedModel, as: 'someInnerNestedAssociation' }] } ], // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore order: this.getOrderByOptions(sortOrder, orderBy), limit, offset }); getOrderByOptions(sortOrder, orderBy) { switch (orderBy) { case Sort_By_Array_Length: return Sequelize.literal('json_array_length(someModelName.someColumnWithArrayName) ASC'); default: return [[orderBy, sortOrder]]; } }

El problema es que mi pedido por consulta se usa tanto en subQuery como en mainQuery. Y usarlo en subQuery conduce a un error, porque no existe tal campo.

Si uso subQuery:false flag, funciona, pero luego me compliqué con la devolución de resultados, debido a problemas con subQuery:false y offset&limits.

Entonces, la pregunta es, ¿hay alguna manera de excluir el campo orderBy de la subconsulta?

Los modelos PS tienen muchas o muchas asociaciones con la tabla pasante.

about 4 years ago · Santiago Trujillo
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!