在laravel中的html表设计中的foreach循环

时间:2017-05-23 16:22:36

标签: laravel foreach laravel-5.4

我有一个数据数组要使用html中的表格显示。但是我使用的foreach循环没有给出所需的格式。 下面是数组数据

$data =  Array
(
    [0] => Array
        (
            [id] => 10
            [asset_name] => Mini Paver
            [qty] => 3
            [est_start_date] => 02/05/2017
            [days] => 2
            [comments] => Comment 2
            [bundle_name] => 1XRoller 1XPaver
        )

    [1] => Array
        (
            [id] => 11
            [asset_name] => Roller
            [qty] => 2
            [est_start_date] => 03/07/2018
            [days] => 4
            [comments] => Comment 2
            [bundle_name] => 1XRoller 1XPaver
        )
)

我查看HTML代码:

@foreach($data as $value) 

<table class="" style="width: 100%;border:1px solid #ccc">
<thead>
 <tr>
    <th colspan="4"> <p><?php echo $value['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>

    <tr>
        <th style="text-align: center"><?php echo $value['id'];?> </th>
        <th style="width:5%;text-align: center"><?php echo $value['asset_name'];?></th>
        <th style="width:5%;text-align: center"><?php echo $value['days'];?></th>
        <th style="width:5%;text-align: center"><?php echo $value['qty'];?></th>
    </tr>

</tbody>
</table>
@endforeach

通过对每个循环使用上面的内容,我会得到像bundle name这样的html格式。enter image description here

但我需要的输出应如下所示: enter image description here

这意味着我希望捆绑名称shluld只出现一次,其余的细节应该显示为行。 我怎么做 ?有什么建议吗? 谢谢。

1 个答案:

答案 0 :(得分:2)

请尝试以下代码,
我假设了以下几点,
1.您的bundle_name将更改(即您将拥有各种bundle_name)。即使您有单个bundle_name,此代码也可以使用 2.您将按bundle_name对结果进行排序 你需要捆绑标题&amp;每个bundle_name的表头(再次,即使您有单个bundle_name,此代码也会起作用) 4. bundle_name永远不会有值false。

@php ($bundle_name = false)
@foreach($data as $value) 
    @if($bundle_name != $value['bundle_name'])
        @if($bundle_name != false)
                </tbody>
            </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>
</table>