在表

时间:2017-11-13 11:39:30

标签: php html laravel

我在数据库中显示数量和价格属性,但由于某些原因,我不会将总数保存到数据库中,但是在获取数据时,我会在表上乘以quantity * total来显示总数。

我的桌子上每列的总数正在准确显示。有没有办法可以在我的html中添加表格中的所有总列?

PS:使用我的代码,它只显示表格当前列的总和

表格

<tbody>
    @foreach($items as $items)
        <tr>
            <td>{{$item>id }}</td>
            <td>{{$item->quantity}}</td> 
            <td>{{ $item->price}}</td>
            <td>{{ $item->quantity * $item->price}}</td>
        </tr>    
    @endforeach
    <p>Sum: {{ $item->quantity * $item->price}}</p>
</tbody>

4 个答案:

答案 0 :(得分:1)

<tbody>
    {{ $total = 0 }}
    @foreach($items as $items)
        <tr>
            <td>{{$item>id }}</td>
            <td>{{$item->quantity}}</td> 
            <td>{{ $item->price}}</td>
            <td>{{ $item->quantity * $item->price}}</td>
            {{ $total = $total + ($item->quantity * $item->price) }}
        </tr>

    @endforeach
    <p>Sum: {{ $total }}</p>
</tbody>

答案 1 :(得分:0)

您可以像这样使用blade's @php指令

<tbody>
@php
$total = 0
    @foreach($items as $items)
    <tr>
        <td>{{$item>id }}</td>
        <td>{{$item->quantity}}</td> 
        <td>{{$item->price}}</td>
        <td>{{$total = $total + ($item->quantity * $item->price)}}</td>        
    </tr>        
    @endforeach

    <p>Sum: {{ $total }}</p>
@endphp
</tbody>

答案 2 :(得分:0)

请尝试以下操作:

{{ $sum = 0 }}
<tbody>
    @foreach($items as $items)
       <tr>
          <td>{{$item>id }}</td>
          <td>{{$item->quantity}}</td> 
          <td>{{ $item->price}}</td>
          <td>{{ $item->quantity * $item->price}}</td>
      </tr>
      $sum+ = $item->quantity * $item->price;
    @endforeach
    <p>Sum: {{ $sum }}</p>
</tbody>

答案 3 :(得分:0)

我假设$itemsIlluminate\Support\Collection。您可以使用闭包来计算总和:

$items->sum( function ($item) {
    return $item->quantity * $item->price;
});

或在您的刀片模板中:

{{ $items->sum( function ($item) {
    return $item->quantity * $item->price;
}); }}

请参阅Laravel Collections docs