页脚值在 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 一样显示。 有人可以帮我解决这个问题吗?谢谢!

【问题讨论】:

为什么要以&lt;/tbody&gt; 开头?应该是&lt;tbody&gt; 吗? @Sagar Gautam :实际上我不是以&lt;/tbody&gt; 开头的,如果$bundle_name != false ,我会以'' 结尾。如果您有任何其他方法可以解决此问题,请帮助我? 在这行 @if($bundle_name != false) 之后你有 &lt;\tbody&gt;&lt;tfoot&gt; 之前再看一遍。是打字错误还是出于某种原因 是的,我有,但如果我删除它,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 中打印相同的数据的主要内容,如果未能解决你的问题,请参考以下文章

NULL值在foreach循环R中作为符号地址错误传递

lodop分页,页眉页脚,foreach分页代码

淘汰赛 JS 选择初始值在 foreach 循环内未正确显示

通过在 PIG 中的同一块内计算的条件值在 FOREACH 块内进行过滤

Laravel 7页脚未显示在某些网页中

Laravel 4:如何在页脚中显示查询结果