0

我正在使用 Laravel 7.0。

我的domain_prices表有price, duration,addPrice列。

我创建了DomainPrice模型。

Domain price具体持续时间是price + addPrice

但是在 5 年的时间里,我需要总结prices所有addPrices1, 2, 3, 4, 5 years

我将自定义属性设置totalPrice为如下:

public function getTotalPriceAttribute()
{
   return $this->price+$this->addPrice;
}

我想制作另一个自定义属性,sumPrice如下所示:

    public function getSumPriceAttribute()
    {
        $sumPrice = 0;
        $prices = $this->where('Duration', '<=', $this->Duration)->get(); // I removed domain filter query here.
        foreach($prices as $price)
        {
            $sumPrice += $price->totalPrice;
        }

        return $sumPrice;
    }

但这并没有返回确切的结果。请用花哨的方法教我。谢谢。

4

1 回答 1

2

我认为您在汇总 $sumPrice 时在这里使用了错误的变量。您应该$subPriceforeach循环中更改为$sumPrice

public function getSumPriceAttribute()
{
    $sumPrice = 0;
    $prices = $this->where('Duration', '<=', $this->Duration)->get(); // I removed domain filter query here.
    foreach($prices as $price)
    {
        $sumPrice += $price->totalPrice; // change $subPrice to $sumPrice
    }
    return $sumPrice;
}
于 2020-06-15T21:32:09.677 回答