Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

305
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda