Php Laravel-如何在刀片视图中计算阵列中对象的总和
我在blade视图中有一个foreach循环,其中列出了具有pivot属性价格的对象:Php Laravel-如何在刀片视图中计算阵列中对象的总和,php,laravel,Php,Laravel,我在blade视图中有一个foreach循环,其中列出了具有pivot属性价格的对象: @foreach($transaction->options as $option) <div class="row"> <div class="col-md-6"> <p>Option description: {{
@foreach($transaction->options as $option)
<div class="row">
<div class="col-md-6">
<p>Option description: {{ $option->description }}</p>
<p>Price: {{ $option->pivot->price }}</p>
</div>
</div>
<hr>
@endforeach
<div class="row">
<div class="col-md-6">
<h4>Options total: </h4>
</div>
</div>
但是,这不起作用,我犯了一个错误:
未定义变量:总计
如何执行此操作?首先定义变量:
@php($total = 0);
您还可以通过以下方式获得轴列的总和:
$transaction->options()->sum('price')
您只需在刀片模板中进行计算。这对其他用户很有帮助。只需在blade语法{{}中进行计算,并使用display:none;css属性。比如说
{{$total=0}}
@foreach($报告为$设备)
{{$device->id}
{{$device->price}
{{$total+=$device->price}
@endforeach
总行驶距离
{{$total}
Blade有一个@php
指令,用于在模板中执行一块普通php。请注意,这可能是糟糕设计的标志,您应该避免在模板中加入太多逻辑。即:
@php
$total = 0;
@endphp
@foreach ($items as $item)
<tr>
<td>{{ $item->name }}</td>
<td>{{ $item->code }}</td>
<td>{{ $item->price }}</td>
</tr>
@php
$total += $item->price;
@endphp
@endforeach
....
<p>Total {{ $total }}</p>
@php
$total=0;
@endphp
@foreach($items作为$item)
{{$item->name}
{{$item->code}
{{$item->price}
@php
$total+=$item->price;
@endphp
@endforeach
....
总计{{$Total}
你可以说
{{$transaction->options()->sum('price')}
这是您应该在控制器或域逻辑中执行的操作,并将其传递给视图。计算信息不应该是视图的工作。哦,现在不是吗?我们可以直接从与此方法的关系中获得总和,非常感谢!
@php
$total = 0;
@endphp
@foreach ($items as $item)
<tr>
<td>{{ $item->name }}</td>
<td>{{ $item->code }}</td>
<td>{{ $item->price }}</td>
</tr>
@php
$total += $item->price;
@endphp
@endforeach
....
<p>Total {{ $total }}</p>