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

299
Views
Para las consultas de unión de Prisma Client, ¿es posible mover campos profundamente anidados al nivel superior de resultados?

¿Prisma tiene la capacidad de mover campos anidados desde otra combinación de tablas al nivel superior del resultado, como una vista aplanada? Quiero poner el resultado JSON en una tabla de interfaz sin tener que buscar en los objetos anidados y construir otro objeto.

Por ejemplo, quiero replicar este comportamiento donde puedo seleccionar y elegir las columnas de diferentes tablas (columnas de Usuario y Escuela). Actualmente uso una consulta sin procesar con un SQL similar, sin embargo, me pregunto si es posible usando solo la API de Prisma:

 SELECT u.id , u.email , s.school_name FROM "User" AS u JOIN "UserSchool" AS us ON us.user_id = u.id JOIN "School" AS s ON s.id = us.school_id
 id | email | school_name 123| student1@email.com | mount high I want JSON that looks like this: { "id": "1", "email": "student1@email.com", "school_name": "mount high", }

Si hiciera esto en Prisma, necesitaría ir a varios niveles de objetos anidados para obtener el mismo nombre de columna en otra tabla, por ejemplo user[user_school][schoo][school_name] . Esto requiere trabajo adicional para recorrer todos mis resultados, extraer del objeto anidado y construir otro objeto. Este ejemplo no es tan malo, pero tengo más uniones y objetos profundamente anidados para mi problema real (muchas tablas de asociación/búsqueda). Experimenté con select e include para mis uniones, pero están estructuradas con el JSON anidado.

 users = await prisma.user.findMany({ include: { user_school: { include: { school: true, }, }, },
 { "id": "1", "email": "student1@email.com", "user_school": [ { "id": 1, "user_id": "1", "school_id": "1", "school": { "id": 1, "school_name": "mountain high", } } ], }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No es posible aplanar los resultados a partir de ahora.

La única forma de lograr esto sería usando rawQuery como mencionaste.

Sin embargo, existe una solicitud de función que analiza el aplanamiento de los resultados al proporcionar una opción de flatten:true . Si pudiera mencionar su caso de uso allí y agregar un comentario, ayudaría al equipo de productos e ingeniería de Prisma a priorizarlo.

about 4 years ago · Juan Pablo Isaza 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!