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.