Necesito ordenar las peleas en cierto orden, para que las CONFIRMED vayan primero, luego las PENDING y luego las CANCELED_BY_INITIATOR .
Ejecuto la siguiente consulta usando TypeORM y me sale el siguiente error:
Fights" alias no fue encontrado. ¿Quizás olvidaste unirte?
const fights = await this.fightRepository .createQueryBuilder(`${EDBTableNames.FIGHTS}`) .leftJoinAndSelect(`${EDBTableNames.FIGHTS}.target`, 'tgts') .leftJoinAndSelect( `tgts.images`, `imgs`, `imgs."imageType" = '${EUserImageType.HALF_LENGTH_AVATAR}'`, ) .leftJoinAndSelect(`${EDBTableNames.FIGHTS}.slot`, 'slot') .orderBy( ` ${EDBTableNames.FIGHTS}.status != '${EFightStatus.CONFIRMED}', ${EDBTableNames.FIGHTS}.status != '${EFightStatus.PENDING}', ${EDBTableNames.FIGHTS}.status != '${EFightStatus.CANCELED_BY_INITIATOR}' ` ) .where( ` ${EDBTableNames.FIGHTS}.initiator = :id AND ( ${EDBTableNames.FIGHTS}.status = :pending OR ${EDBTableNames.FIGHTS}.status = :confirmed OR ${EDBTableNames.FIGHTS}.status = :cbInitiator ) `, { id, pending: EFightStatus.PENDING, confirmed: EFightStatus.CONFIRMED, cbInitiator: EFightStatus.CANCELED_BY_INITIATOR, } ) .skip(page * limit) .take(limit) .getMany(); El ${EDBTableNames.FIGHTS} es igual a fights .
¿Qué estoy haciendo mal?