• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

188
Views
Clasificación con Prisma en una relación complicada

Estoy usando Prisma con una base de datos MySQL para un proyecto, una tienda en línea, donde varios proveedores pueden vender el mismo producto.

En cierta parte de mi base de datos tengo una estructura de tabla como esta:

  • Producto (id, nombre, ...)
  • Suministro (productId, proveedor, precio, stock, ...)

La tabla Supply representa el hecho de que un proveedor vende un determinado producto. Obviamente, un Product puede tener múltiples entradas de Supply , tantas como proveedores vendan dicho producto.

Estoy buscando usar la operación findMany de Prisma para clasificar los productos por el precio más bajo de todos los Supplies que tiene un producto. Puedo calcular fácilmente este valor después de obtener todos los productos y ordenarlos de esa manera, pero eso no sería escalable, y también estoy usando la paginación con take y skip para fines de eficiencia, lo que hace que esa alternativa no tenga sentido.

Como ejemplo, supongamos que dos Product tienen dos Supplies cada uno:

  • Producto X, vendido por el proveedor A a 63€ y por el proveedor B a 75€
  • Producto Y, vendido por el proveedor B a 54€ y por el proveedor A a 60€

El resultado natural que estoy buscando (al ordenar en orden ascendente) sería:

  1. Producto Y
  2. Producto X

Como el precio mínimo de Supply del producto X es menor que el valor mínimo de Supply del producto Y.

Investigué a fondo la documentación de Prisma con respecto a esta situación y no puedo encontrar una solución. Me gustaría mucho implementar esto usando la propiedad orderBy para la operación findMany en lugar de usar consultas SQL sin procesar, ya que he implementado muchos otros tipos de clasificación de la manera Prisma.

Cualquier ayuda con respecto a este problema es apreciada, gracias de antemano.

almost 3 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error