首页 > 解决方案 > 在 for 循环中将变量传递给另一个刀片 php 文件仅打印表的第一个条目

问题描述

我正在使用 Laravel 开展一个项目,但遇到以下问题。当我尝试将 foreach 循环中的变量传递给另一个 Blade.php 文件时,只打印表的第一个条目。

主 Blade.php 文件中的代码:

@foreach($policereport as $key => $row)
  <?php $data = $row -> content ?>
  @include('design.textBox')
  @yield('text', $data)
@endforeach

textBox.blade.php 文件中的代码:

@section('text')
  <br>
  <div class="text-box">{{ $data }}</div>
@stop

我也试过这个,但我得到了相同的结果:

@foreach($policereport as $key => $row)
   @include('design.textBox', ['data' => $row -> content])
   @yield('text')
@endforeach

唯一帮助我遍历表中所有内容单元格的是:

@foreach($policereport as $key => $row)
    <div class="text-box">{{ $row -> content }}</div>
@endforeach

我是否将变量错误地传递给 textBox 文件?我想将它传递给另一个文件,这样我的代码就更干净了,因为我必须为更多文件做同样的事情。

编辑:通过删除 textBox.blade.php 文件中的部分标记和评论中推荐的 @yield('text') 部分解决了我的问题

标签: phpmysqllaravellaravel-blade

解决方案


您可以使用@each链接到文档

@each('design.textBox', $policereport, 'data')

在 design.textBox 刀片中:

<br>
<div class="text-box">{{ $data }}</div>

推荐阅读