Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

280
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!