This is the code in my Product model to get the minimum price value (one product can have multiple price)
public function getLowestAttribute ()
{
    return $this->prices->min('price');
}
But it will return NULL rather than the smallest integer if there is a NULL.
Basically I want to achieve this:
[1, NULL, 2] returns 1
[1, NULL, 0] returns 0
Any suggestion would be appreciated.
I found filter, and it works now.
public function getLowestAttribute ()
{
    $prices = $this->prices->filter(function ($item) {
        return !is_null($item->price);
    });
    return $prices->min('price');
}
                        Have you tried maybe
public function getLowestAttribute ()
{
    return $this->prices->where('price','>=',0)->min('price');
}
                        A fix to the KuKeC answer would be
public function getLowestAttribute()
{
    return $this->prices->where('price', '!==', null)->min('price');
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With