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:
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:
El resultado natural que estoy buscando (al ordenar en orden ascendente) sería:
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.