页脚值在 laravel 的 foreach 中打印相同的数据
Posted
技术标签:
【中文标题】页脚值在 laravel 的 foreach 中打印相同的数据【英文标题】:Footer value is printing the same data inside foreach in laravel 【发布时间】:2017-12-26 01:34:24 【问题描述】:我有一个数组数据,我试图使用 foreach 循环在我的刀片视图中打印它。但在这里我的条件是我只需要在表格中打印捆绑名称和总计一次。 数组数据:
$data = Array
(
[0] => Array
(
[id] => 10
[asset_name] => Mini Paver
[qty] => 2
[days] => 5
[bundle_name] => Bundle 1
[total] => 1000
)
[1] => Array
(
[id] => 2
[asset_name] => Roller
[qty] => 2
[days] => 5
[bundle_name] => Bundle 1
[total] => 1000
)
[2] => Array
(
[id] => 13
[asset_name] => Medi Paver
[qty] => 2
[days] => 5
[bundle_name] => Bundle 2
[total] => 2000
)
[3] => Array
(
[id] => 15
[asset_name] => Sweet Roller
[qty] => 2
[days] => 5
[bundle_name] => Bundle 2
[total] => 2000
)
)
刀片视图代码:
@php ($bundle_name = false)
@foreach($data as $value)
@if($bundle_name != $value['bundle_name'])
@if($bundle_name != false)
</tbody>
<tfoot>
<tr>
<th colspan="4"> <p> Total : $value['total'] </p></th>
</tr>
</tfoot>
</table>
@endif
@php ($bundle_name = $value['bundle_name'])
<table class="" style="width: 100%;border:1px solid #ccc">
<thead>
<tr>
<th colspan="4"> <p> $bundle_name </p></th>
</tr>
<tr>
<th style="text-align: center">id</th>
<th style="width:5%;text-align: center">Asset Category</th>
<th style="width:5%;text-align: center">Days</th>
<th style="width:5%;text-align: center">Qty</th>
</tr>
</thead>
<tbody>
@endif
<tr>
<th style="text-align: center"> $value['id'] </th>
<th style="width:5%;text-align: center"> $value['asset_name'] </th>
<th style="width:5%;text-align: center"> $value['days'] </th>
<th style="width:5%;text-align: center"> $value['qty'] </th>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<th colspan="4"> <p> Total : $value['total'] </p></th>
</tr>
</tfoot>
</table>
目前我得到的视图如下图所示
但我需要结果视图应该是这样的:
这里我不想添加总数,它应该像 bundle_name 一样显示。 有人可以帮我解决这个问题吗?谢谢!
【问题讨论】:
为什么要以</tbody>
开头?应该是<tbody>
吗?
@Sagar Gautam :实际上我不是以</tbody>
开头的,如果$bundle_name != false
,我会以'' 结尾。如果您有任何其他方法可以解决此问题,请帮助我?
在这行 @if($bundle_name != false)
之后你有 <\tbody>
在 <tfoot>
之前再看一遍。是打字错误还是出于某种原因
是的,我有,但如果我删除它,Total 只是不显示
对不起,你误会我说的话了。查看上述问题的 Blade 视图代码中的第 5 行:
【参考方案1】:
试试这个解决方案,我不会在这里改变你的解决方案 :) :
@php ($bundle_name = false)
@php ($total_value = 0)
@foreach($data as $value)
@if($bundle_name != $value['bundle_name'])
@if($bundle_name != false)
</tbody>
<tfoot>
<tr>
<th colspan="4"> <p> Total : $total_value </p></th>
</tr>
</tfoot>
</table>
@endif
@php ($bundle_name = $value['bundle_name'])
<table class="" style="width: 100%;border:1px solid #ccc">
<thead>
<tr>
<th colspan="4"> <p> $bundle_name </p></th>
</tr>
<tr>
<th style="text-align: center">id</th>
<th style="width:5%;text-align: center">Asset Category</th>
<th style="width:5%;text-align: center">Days</th>
<th style="width:5%;text-align: center">Qty</th>
</tr>
</thead>
<tbody>
@endif
<tr>
<th style="text-align: center"> $value['id'] </th>
<th style="width:5%;text-align: center"> $value['asset_name'] </th>
<th style="width:5%;text-align: center"> $value['days'] </th>
<th style="width:5%;text-align: center"> $value['qty'] </th>
</tr>
@php ($total_value = $value['total'])
@endforeach
</tbody>
<tfoot>
<tr>
<th colspan="4"> <p> Total : $total_value </p></th>
</tr>
</tfoot>
</table>
【讨论】:
好吧,让我试试这个 乐于助人 ;)以上是关于页脚值在 laravel 的 foreach 中打印相同的数据的主要内容,如果未能解决你的问题,请参考以下文章
淘汰赛 JS 选择初始值在 foreach 循环内未正确显示