Поиск минимальной цены из двух столбцов - PullRequest
0 голосов
/ 22 октября 2019

У меня есть две колонки обычная цена и цена продажи. Я должен искать минимальную цену товара в обеих колонках.

$products = $products->whereBetween('ecommerce_sku.regular_price', [$minPrice, $maxPrice]);

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Если вы просто хотите получить самую низкую цену для обоих столбцов, вы можете сделать следующее:

$product = Product::orderByRaw('LEAST(regular_price, sale_price) asc')
               ->first();

Это принесет продукту с минимальным regular_price или sale_price.

0 голосов
/ 22 октября 2019
$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 для получения меньшего значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...