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

109
Views
NodeJs Prisma doble incluye propiedad

Tengo 3 esquemas modelo en mi proyecto:

  1. Proveedores: id + nombre

  2. Artículos: id + nombre + ID de proveedor

  3. categorías: id + nombre + ItemId

Necesito crear un esquema de consulta de prisma que me permita recuperar categorías, incluidos los detalles del artículo y el proveedor.

los modelos prisma:

 model Vendor { id Int @id @default(autoincrement()) name String @db.VarChar(255) Item Item[] @@map("Vendors") } model Item { id Int @id @default(autoincrement()) name String @db.VarChar(255) vendor Vendor @relation(fields: [vendorId], references: [id]) vendorId Int Category Category[] @@map("Items") } model Category { id Int @id @default(autoincrement()) name String @db.VarChar(255) item Item @relation(fields: [itemId], references: [id]) itemId Int @@map("Categories") }

El punto final expreso es el siguiente:

 router.get('', async (req, res) => { try { let items = await prisma.Category.findMany({ include: { item: true }, }); res.status(200).json(items) } catch (error) { res.json(error.message); } });

El código tal como está ahora, devolverá una lista de categorías junto con los artículos de cada categoría, sin embargo, el artículo incluirá el ID del proveedor en lugar de los detalles del proveedor. ¿Qué debo agregar al código para obtener detalles del proveedor sin el bucle foreach?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede obtener los vendors junto con los items mientras busca la categoría a través de esta consulta.

 let items = await prisma.category.findMany({ include: { item: { include: { vendor: true, }, }, }, }); console.log(items);

Aquí está la respuesta de muestra para la consulta:

 [ { "id": 1, "name": "mobile", "itemId": 1, "item": { "id": 1, "name": "Iphone", "vendorId": 1, "vendor": { "id": 1, "name": "Apple Inc" } } } ]
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!