叶片laravel中总值的总和

问题描述 投票:0回答:1

我有5个数组,每个数组包含medicine_pricemedicine_quantity。 我想要的是添加每个数组的结果。 问题是,我无法得到每个数组的正确结果。

例:

result1 = medicine_price * medicine_quantity  
result2 = medicine_price * medicine_quantity
result3 = medicine_price * medicine_quantity
result4 = medicine_price * medicine_quantity
result5 = medicine_price * medicine_quantity

total = result1 + result2 + result3 + result4 + result5

这应该是我想要的结果。 而且由于我增加了它们,因此也可能包含更多的数组。

代码:

@php
    $i = 1;
    @endphp
    @foreach($carts as $cart)

    {!! $cart->medicine_quantity !!}

    @php
    $value=  $cart->medicine_price  * $cart->medicine_quantity;
    echo "<input type='hidden' id='sample$i' value='$value'>";

    $i++
    @endphp

    @endforeach

    @php
    echo "$Total_price"
    @endphp
javascript jquery laravel laravel-5.4
1个回答
0
投票

有一个更干净的方法来做到这一点

使用mutators作为购物车总数

class Cart extends Model
{
    protected $appends =['total_price'];

    public function getTotalPriceAttribute()
    {
        return $this->medicine_price * $this->medicine_quantity;
    }
}

然后访问它$cart->total_price

而对于购物车总数,你可以像这样使用收集方法sum

$total = $carts->sum('total_price');

您的刀片视图将是这样的

@foreach($carts as $i => $cart)
{{ $cart->medicine_quantity }}
<input type='hidden' id='sample{{ $i }}' value='{{ $cart->total_price }}'>
@endforeach

{{ $carts->sum('total_price') }}
© www.soinside.com 2019 - 2024. All rights reserved.