Мин и Макс с атрибутом в Laravel - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть модель продукта с атрибутом.

public function getFinalPriceAttribute()
{
    if ($this->discount_type == 1) {
        return $this->price -= $this->discount;
    } elseif ($this->discount_type == 0) {
        return $this->price * (1 - $this->discount / 100);
    }

    return $this->price;
}

Мне нужно получить минимальную и максимальную сумму продуктов в категории.Я могу сделать это с:

$minsumm = $products->min('price');
$maxsumm = $products->max('price');

В коллекции products всех продуктов в базе данных.Как получить минимальную и максимальную цену с атрибутом finalPrice?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

попробуйте это

$products = Product::get();
$minPrice = $product->min('final_price');
$maxPrice = $product->max('final_price');

И не забудьте добавить $ добавления в модель вашего продукта

protected $appends = ['final_price'];
0 голосов
/ 04 декабря 2018

Функции min & max позволяют передавать закрытие на них.Таким образом, вы можете сделать следующее:

$minsumm = $products->min(function ($prod) { return $prod->finalPrice; });
$maxsumm = $products->max(function ($prod) { return $prod->finalPrice; });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...