添加到laravel中每个方法内的变量

时间:2017-12-30 08:06:35

标签: php laravel

我有这个函数迭代一个集合并为每个函数之外的变量$totalSaleValue添加一些值:

public function totalSaleValue()
{
     $totalSaleValue = 0;

    $this->products->each(function ($item, $key) use ($totalSaleValue){

        if (!empty($item->sale_price)) {
            $totalSaleValue += $item->sale_price * $item->pivot->stock;
        }

    });

    return $totalSaleValue;
}

但始终$totalSaleValue返回0

有什么问题?

1 个答案:

答案 0 :(得分:4)

通过引用传递变量:

$this->products->each(function ($item, $key) use (&$totalSaleValue) {