微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Laravel 视图中分块数据和显示标题

如何解决在 Laravel 视图中分块数据和显示标题

我有数据需要在 Laravel 刀片视图中显示为 3 行并带有标题。我知道 Laravel 中有块方法可以将数据分块并显示。但我想以不同的方式显示数据。

这是我的数据

Illuminate\Support\Collection {#1898 ▼
#items: array:2 [▼
  0 => {#1021 ▼
  +"parameter": "NH3 examine"
  +"id": 6
  +"pond_quality_id": 5
  +"parameter_id": 28
  +"pond_water_cig": 12
  +"pond_water_non_cig": 12
  +"taken_actions_cig": 12
  +"taken_actions_non_cig": 12
  +"taken_actions": "action"
  +"measure_before_intervention": "before"
  +"measure_after_intervention": "after"
  +"remarks": "remarks1"
  +"created_at": "2021-04-25 10:16:00"
  +"updated_at": "2021-04-25 10:16:00"
}
1 => {#1897 ▼
  +"parameter": "O2 examine"
  +"id": 7
  +"pond_quality_id": 5
  +"parameter_id": 29
  +"pond_water_cig": 23
  +"pond_water_non_cig": 23
  +"taken_actions_cig": 23
  +"taken_actions_non_cig": 23
  +"taken_actions": "action taken"
  +"measure_before_intervention": "before intervention"
  +"measure_after_intervention": "after intervention"
  +"remarks": "remarks2"
  +"created_at": "2021-04-25 10:16:00"
  +"updated_at": "2021-04-25 10:16:00"
}
]
}

这是我想要输出数据的方式

col1 col2 col3 col4
col1 val1 col2 val1 col3 val3 col4 val4
col1 val2 col2 val2 col3 val3 col4 val4
col5 col6 col7 col8
col5 val1 col6 val1 col7 val3 col8 val4
col5 val2 col6 val2 col7 val3 col8 val4
col9
col9 val1
col9 val2

我怎样才能做到这一点?

解决方法

您在 Blade 中使用的每个 $loop 循环都有 @foreach 的范围,这也随着循环内的循环而扩展

这里有一个示例,说明如何实现您想要的;每 3 行,添加一个您选择的标题。您可能需要在那里处理模数 - 我确定 3 是正确的,但考虑到 $loop->iteration 从 1 开始,而不是 0,我可能是错的。

请参阅:https://laravel.com/docs/8.x/blade 以了解在 $loop variable 上下文中 @foreach 的更多用法

@foreach($items as $item)

    @if($loop->iteration % 3 == 0)
        //output header row
    @endif

    //output $item

@endforeach

您需要为自己的标题行定义一组规则,考虑到您有 3 个相同的表,但您的第四个似乎有 1 个标题并且是唯一的,您可能想要创建一个辅助函数,允许您包含一个视图依赖于在您的刀片中使用多个 @if 语句的迭代。

,

实现预期结果的更好方法是块函数。简单干净。

    @foreach($items->chunk(2) as $chunk)
      <div class="s-table-container">
        <table class="s-table">
          <thead>
            <tr>
              <th>Id</th>
              <th>parameter</th>
              <th>pond_quality_id</th>
              <th>pond_water_cig</th>
             </tr>
           </thead>
           <tbody>
             @foreach($chunk as $item)
               <tr>
                 <td>{{$item->id}}</td>
                 <td>{{$item->parameter}}</td>
                 <td>{{$item->pond_quality_id}}</td>
                 <td>{{$item->pond_water_cig}}</td>
               </tr>
             @endforeach
           </tbody>
         </table>
       </div>
     @endforeach

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?