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

632
Views
Secuela incluye columna anidada: columna desconocida en 'cláusula where'

Estoy tratando de usar la función Sequelize ORM que permite hacer referencia a la columna anidada de los modelos incluidos (consulte Sequelize Docs: Complex where cláusulas en el nivel superior ). En los documentos dice que puedo usar la sintaxis $nested.column$ .

Lo siguiente es lo que estaba tratando de hacer:

 let where = { memberId }; if (req.query.search) { const like = { [Op.like]: `%${req.query.search}%` }; where = { ...where, [Op.or]: [ { '$bookItem.serial$': like }, { '$bookItem.book.name$': like }, { '$bookItem.book.ISBNCode$': like }, ], }; } const options = { where, include: [ { model: models.BookItem, as: 'bookItem', required: false, include: [ { model: models.Book, as: 'book', attributes, required: false, }, ], }, ], }); const transactions = await models.Borrow.findAll(options);

Sin embargo, para el código anterior, recibo el siguiente error:

"Unknown column 'bookItem.serial' in 'where clause'"

¿Qué me estoy perdiendo?

Esquema de base de datos completo: https://dbdiagram.io/d/5e08b6aaedf08a25543f79cb

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

En la documentación vinculada, los libros no tienen una columna de nombre, cambie $bookItem.book.name$ a $bookItem.book.title$ e intente agregar right: true debajo de required: false para crear una unión interna.

over 4 years ago · Santiago Trujillo Report

0

¿ bookitem es una tabla? ¿O una base de datos?

bookItem.serial representa db.tbl o tbl.column

bookItem.book.name solo puede representar db.tbl.column

Dado que bookItem parece ser un nombre de base de datos, serial debe ser un nombre de tabla. En ese punto, "tablename LIKE..." es un error de sintaxis.

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