$productRegular = $products->whereBetween('ecommerce_sku.regular_price',
[$minPrice, $maxPrice])->orderBy('regular_price')->take(1)->get();
$productSale = $products->whereBetween('ecommerce_sku.sale_price',
[$minPrice, $maxPrice])->orderBy('sale_price')->take(1)->get();
- Сортировка данных по цене и выборка самого верхнего.
Вы получите тот, у которого самая низкая цена в данном диапазоне
Сравнитьи получить меньший.
$smallerValue= $productRegular->regular_price> $productSale->sale_price?
$productSale->sale_price: $productRegular->regular_price
Вы можете использовать оператор case для получения меньшего значения.