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

185
Views
Realización de consultas de duelo en cliente prisma

Actualmente me pregunto si es posible obtener datos de más de una tabla en una sola consulta.

Tenemos una tabla de miembros del equipo y una tabla de usuarios. Queremos obtener información sobre cada usuario en la tabla teamMember y obtener los datos correspondientes de la tabla de usuarios.

¿Es posible hacerlo en una sola consulta? ¿O tendría que usar dos consultas findMany?

 const members = await prisma.teamMember.findMany({ where: { teamId, }, }); const membersInfo = []; members.map(async (e) => { const response = await prisma.user.findFirst({ where: { id: e.userId, }, }); if(response) membersInfo.push(response); });```
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sí, puede consultar los datos del User mientras obtiene la información TeamMember .

Considere este ejemplo:

schema.prisma

 // This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model TeamMember { id Int @id @default(autoincrement()) team_id Int User User? @relation(fields: [userId], references: [id]) userId Int? } model User { id Int @id @default(autoincrement()) name String email String password String team TeamMember[] }

index.ts

 import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient({ log: ['query'], }); async function main() { await prisma.user.create({ data: { email: 'test@test.com', name: 'test', password: 'test', team: { create: { team_id: 1, }, }, }, }); console.log('Created user'); const teamWithUsers = await prisma.teamMember.findUnique({ where: { id: 1, }, include: { User: true, }, }); console.log('teamWithUsers', teamWithUsers); } main() .catch((e) => { throw e; }) .finally(async () => { await prisma.$disconnect(); });

Aquí está la respuesta:

 teamWithUsers { id: 1, team_id: 1, userId: 1, User: { id: 1, name: 'test', email: 'test@test.com', password: 'test' } }

De forma predeterminada, los campos de relación no se recuperan, si necesita obtener los datos de los campos de relación en ese caso, deberá especificar la cláusula de inclusión como se muestra en el ejemplo anterior.

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!