这是我的Product
模型中的代码,用于获取最低价格(一种产品可以有多种价格)
public function getLowestAttribute ()
{
return $this->prices->min('price');
}
但如果有NULL
,它将返回NULL
而不是最小整数。
基本上我想实现这个目标:
[1, NULL, 2]
返回1
[1, NULL, 0]
返回0
任何建议都将不胜感激。
答案 0 :(得分:6)
我找到filter
,现在可以使用了。
public function getLowestAttribute ()
{
$prices = $this->prices->filter(function ($item) {
return !is_null($item->price);
});
return $prices->min('price');
}
答案 1 :(得分:4)
你有没有尝试过
public function getLowestAttribute ()
{
return $this->prices->where('price','>=',0)->min('price');
}