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

277
Vistas
Prisma excluye la tabla de enlaces al buscar la relación

¿Alguien sabe si Prisma tiene una forma de evitar niveles de anidamiento innecesarios al obtener objetos anidados a través de la tabla de enlaces?

Esquema:

 model User { id String @id @default(cuid()) name String? email String? @unique emailVerified DateTime? image String? accounts Account[] sessions Session[] roles UsersRoles[] created_at DateTime @default(now()) } model Role { id Int @id @default(autoincrement()) name AllowedRoles @default(USER) users UsersRoles[] } model UsersRoles { userId String user User @relation(fields: [userId], references: [id]) roleId Int role Role @relation(fields: [roleId], references: [id]) @@id([userId, roleId]) }

En la captura de pantalla se ve que debo hacer

 include: { roles: { include: { role: true } } }

para obtener la identificación y el nombre del rol, pero también obtengo los datos innecesarios de la tabla de enlaces/tabla dinámica. ¿Puedo consultar los datos del rol directamente, sin obtener la tabla dinámica en el resultado? Funciona con relaciones Prisma implícitas de muchos a muchos, pero quiero hacerlo con relaciones explícitas

ingrese la descripción de la imagen aquí

Edición 1: Encontré esto https://www.prisma.io/docs/guides/database/troubleshooting-orm/help-articles/working-with-many-to-many-relations Prisma muestra un ejemplo de cómo deshacerse del enlace datos de la tabla:

 const result = posts.map((post) => { return { ...post, tags: post.tags.map((tag) => tag.tag) } })

Supongo que dado que incluso en los documentos de Prisma lo hacen así, no hay forma de hacerlo durante el tiempo de recuperación con el cliente de Prisma. Pero podría estar equivocado.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intente cambiar su include de nivel superior por una select . Prisma devolverá todos los campos escalares (sin relación) de forma predeterminada, a menos que especifique un objeto de select .

documentos relevantes

about 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