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

284
Vistas
obtener campos en lugar de objetos de la relación (typeorm)

Soy nuevo en typeorm y cuando quiero recuperar una tabla que tiene una relación, las columnas de esa relación se recuperan en un objeto con el nombre de esa tabla. Aquí hay un ejemplo

 import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from "typeorm" import { Photo } from "./Photo" @Entity() export class User { @PrimaryGeneratedColumn() id: number @Column() name: string @OneToMany((type) => Photo, (photo) => photo.user) photos: Photo[] }
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from "typeorm" import { User } from "./User" @Entity() export class Photo { @PrimaryGeneratedColumn() id: number @Column() url: string @ManyToOne((type) => User, (user) => user.photos) user: User }
 const user = await createQueryBuilder("user") .leftJoinAndSelect("user.photos", "photo") .where("user.name = :name", { name: "Timber" }) .getOne()

Resultado

 { id: 1, name: "Timber", photos: [{ id: 1, url: "me-with-chakram.jpg" }, { id: 2, url: "me-with-trees.jpg" }] }

Quiero que los campos de la relación estén al mismo nivel que los campos de mi tabla

Resultado Esperado

 { { id: 1, name: "Timber", id: 1, url: "me-with-chakram.jpg" } { id: 1, name: "Timber", id: 2, url: "me-with-trees.jpg" } }

¿Hay una opción para hacer esto? No encontré nada en sus documentos.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes probar esto,

 const user = await createQueryBuilder("user") .leftJoinAndSelect("user.photos", "photo") .select([ 'user.id', 'user.name', 'photos.id', 'photos.url' ]) .where("user.name = :name", { name: "Timber" }) .getOne();
about 4 years ago · Juan Pablo Isaza Denunciar

0

Intenté usar '*' y funcionó

 const user = await createQueryBuilder("user") .leftJoinAndSelect("user.photos", "photo") .select('*') .where("user.name = :name", { name: "Timber" }) .getOne();
about 4 years ago · Juan Pablo Isaza 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