【问题标题】:Laravel foreach loop in HTML Blade Table Cells that Span Many Columns跨多列的 HTML 刀片表格单元格中的 Laravel foreach 循环
【发布时间】:2019-02-27 01:04:16
【问题描述】:

我正在尝试在 laravel Blade 中显示一个与下图相同的表格

在 HTML Blade 表中为了使单元格跨越多行,我使用 rowspan 属性。但是,当我尝试在刀片视图中使用 foreach 时,它无法正常工作。 foreach 循环将原始团队返回 3 次。

这是我的刀片代码

@foreach($datas as $data)
  <tr>
  <td rowspan="3">{{$data->team_name}}</td>
<td>{{$data->name}}</td>
<td>{{$data->email}}</td>
<td>{{$data->phone}}</td>
</tr>
@endforeach

请帮忙。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    团队行返回3次,因为它在foreach中,如果rowspan是静态值你可以试试下面的代码:

    @foreach($datas as $key => $data)
      <tr>
         @if ($key == 0 || $key % 3 == 0)
             <td rowspan="3">{{$data->team_name}}</td>
         @endif
         <td>{{$data->name}}</td>
         <td>{{$data->email}}</td>
         <td>{{$data->phone}}</td>
      </tr>
    @endforeach
    

    Laravel 5.2 及更高版本

    对于动态 rowsapn,请尝试以下代码:

    @php
       $rowid = 0;
       $rowspan = 0;
    @endphp
    @foreach($datas as $key => $data)
      @php
         $rowid += 1
      @endphp
      <tr>
         @if ($key == 0 || $rowspan == $rowid)
             @php
                 $rowid = 0;
                 $rowspan = $data->how_many_members;
             @endphp
             <td rowspan="{{ $rowspan }}">{{$data->team_name}}</td>
         @endif
         <td>{{$data->name}}</td>
         <td>{{$data->email}}</td>
         <td>{{$data->phone}}</td>
      </tr>
    @endforeach
    

    how_many_members 属性更改为适合您的模型字段名称。

    【讨论】:

    • 我应该怎么做才能使行跨度动态化?
    • 你能解释一下你的数据模型吗?
    • 有一个名为 teams 的表,其中包含团队名称和注册人数。另一个名为 members 的表,通过外键连接到团队
    • ok,你可以使用多少成员注册字段来实现动态行跨度,有多少成员注册字段可以通过$datas集合访问??
    • 你能举个例子吗?
    猜你喜欢
    • 2018-04-04
    • 2017-05-29
    • 2017-11-13
    • 2021-12-26
    • 1970-01-01
    • 2016-06-29
    • 2021-05-05
    • 2021-02-11
    • 1970-01-01
    相关资源
    最近更新 更多