La inclusión de la propiedad dirección de orden 'ASC' o 'DESC' provoca el error Unknown column 'application.ASC' in 'order clause'
const applications = await Application.findAll({ order: ['createdAt', 'ASC'], distinct: true, attributes: [ 'id', 'applicantId', 'jobId', ] });He estado recibiendo este error y no puedo entender por qué. Supuse que era un problema de nomenclatura con el campo 'createdAt', pero parece ser la propiedad 'ASC'/'DESC' a la que apunta el error que está causando el problema
Esto funciona:
const applications = await Application.findAll({ order: ['createdAt'], distinct: true, attributes: [ 'id', 'applicantId', 'jobId', ] });Consulta SQL que se está ejecutando:
SELECT `id`, `applicantId`, `jobId` FROM `applications` AS `application` ORDER BY `application`.`createdAt`; Pero esto no: (agregando 'ASC'/'DESC' a la propiedad order: order: ['createdAt', 'ASC'], )
const applications = await Application.findAll({ order: ['createdAt', 'ASC'], distinct: true, attributes: [ 'id', 'applicantId', 'jobId', ] });SQL:
SELECT `id`, `applicantId`, `jobId` FROM `applications` AS `application` ORDER BY `application`.`createdAt`, `application`.`ASC`; Resultando en: Unknown column 'application.ASC' in 'order clause'
No sé por qué parece estar tratando 'ASC' como una columna. Creo que estoy siguiendo la sintaxis correcta, descrita aquí
Este es mi modelo:
const Application = sequelize.define('application', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, notNull: true } });Pensé que agregar explícitamente la propiedad createdAt al modelo podría hacer una diferencia en la ejecución de la consulta o el error, pero no es así:
const Application = sequelize.define('application', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, notNull: true }, createdAt: { type: Sequelize.DATE, field: 'created_at', } });Esta es la tabla en WorkBench:
Agradecería la entrada ya que me confundí un poco.
Gracias
Si necesita indicar una dirección de clasificación, debe usar la sintaxis extendida de la opción de order : una matriz de matrices con pares, un nombre de columna y una dirección de clasificación:
order: [['createdAt', 'ASC']],