Сумма общих значений в лопатке - PullRequest
0 голосов
/ 07 марта 2019

У меня есть 5 массивов, каждый массив содержит medicine_price, medicine_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

1 Ответ

0 голосов
/ 07 марта 2019

Есть более чистый способ сделать это

Используйте мутаторы на общую сумму

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') }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...