Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1K
Vistas
TypeORM seleccione el alias del nombre de la columna
this.sampleRepo.find( { order: { id: "DESC" }, select: ['id','group'] } );

esto devuelve la id y el group como se esperaba, pero ¿cómo devolver la id como user_id ? y también cómo seleccionar valores distintos del grupo?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Simplemente agregue un alias en su cadena seleccionada, por ejemplo:

 select: ['id AS user_id','group AS user_group']

Si la opción anterior no funcionó, debería funcionar en queryBuilder:

 this.sampleRepo .createQueryBuilder('user') .orderBy('user.id', 'DESC') .select(['id AS user_id','group AS user_group']) .getRawMany() // or .getMany()

Hice algo como lo necesita con uno de mis ejemplos (el último aquí) pero escribí esto (actualización arreglada con getRawMany y distinto) :

 getMany(): Promise<UserEntity[]> { return this.userRepo.createQueryBuilder('user') .where({ username: 'breckhouse0' }) .select(['DISTINCT (user.username) AS user_name', 'user.id AS user_id']) .getRawMany(); }

y esto funciona como esperas -resultados

over 4 years ago · Santiago Trujillo Denunciar

0

Hice una gambiarra :

 var qb = this.siteSurveyRepository .createQueryBuilder('sites') .leftJoinAndSelect('sites.responsavel', 'responsavel') .leftJoinAndSelect('sites.endereco', 'endereco') .leftJoinAndSelect('sites.localizacao', 'localizacao') .leftJoinAndSelect('sites.fotos', 'fotos') .leftJoin('sites.contato', 'contato') .leftJoin('contato.empresa', 'empresa') .select([ 'sites.id', 'sites.nome', 'sites.esfera', 'sites.poder', 'sites.dataCriacao', 'sites.dataCriacaoLocal', 'responsavel', 'endereco', 'localizacao', 'fotos.id', 'fotos.idSurvey', 'fotos.label', 'fotos.src', 'contato.id', 'contato.nome', 'contato.email', 'contato.telefone', 'empresa' ]) const all = qb.orderBy('sites.dataCriacao', 'ASC').getMany(); const result = JSON.stringify(all).replace('dataCriacao', 'data_criacao').replace('dataCriacaoLocal', 'data_criacao_local'); const data = JSON.parse(result); return response.status(201).json(data);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda