Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

205
Visualizações
Secuela: el nombre de la columna en minúsculas no funciona con los modelos incluidos

Tengo dos modelos: Categoría y Marcador. El marcador está asociado con la categoría a través de la columna categoryId.

La categoría también tiene columnas name , createdAt , orderId ;


Puedo obtener la categoría y todos sus marcadores con:

 const category = await Category.findOne({ where: { id: req.params.id }, include: [ { model: Bookmark, as: 'bookmarks' }, ] });

Pero ahora quiero cambiar cómo se ordenan los marcadores. El tipo de pedido puede ser name , createdAt o orderId ;

 const order = orderType == 'name' ? [[ { model: Bookmark, as: 'bookmarks' }, Sequelize.fn('lower', Sequelize.col('bookmarks.name')), 'ASC' ]] : [[{ model: Bookmark, as: 'bookmarks' }, orderType, 'ASC']] const category = await Category.findOne({ where: { id: req.params.id }, include: [ { model: Bookmark, as: 'bookmarks' }, ], order });

Funciona bien cuando orderType se createdAt o orderId pero falla cuando es el name


Recibo este error: SQLITE_ERROR: near \"(\": syntax error y la consulta SQL generada por Sequelize es:

 SELECT `Category`.`id`, `Category`.`name`, `bookmarks`.`id` AS `bookmarks.id`, `bookmarks`.`name` AS `bookmarks.name`, `bookmarks`.`categoryId` AS `bookmarks.categoryId`, `bookmarks`.`orderId` AS `bookmarks.orderId`, `bookmarks`.`createdAt` AS `bookmarks.createdAt` FROM `categories` AS `Category` INNER JOIN `bookmarks` AS `bookmarks` ON `Category`.`id` = `bookmarks`.`categoryId` ORDER BY `bookmarks`.lower(`bookmarks`.`name`) ASC;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Lo cambié a:

 const order = orderType == 'name' ? [[Sequelize.fn('lower', Sequelize.col('bookmarks.name')), 'ASC']] : [[{ model: Bookmark, as: 'bookmarks' }, orderType, 'ASC']];

y ahora está funcionando.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda