Laravel Как поместить данные горизонтально в три столбца с foreach - PullRequest
1 голос
/ 08 июля 2019

Я использую laravel-dompdf для создания PDF-файла.Я хочу использовать цикл foreach, чтобы поместить данные горизонтально в три столбца.Это не легко.

$ items = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'ffff', 'gggg', 'hhhh', 'iiii'];

enter image description here

<table style="width:100%">

@foreach($items as $key => $item)

  <tr>

  @if($key % 2 == 0)<td>{{ $item }}</td>@endif

  @if($key % 2 != 0)<td>{{ $item }}</td>@endif


  </tr>

@endforeach

</table>

Ответы [ 3 ]

2 голосов
/ 08 июля 2019

Вы можете использовать этот фрагмент,

<table style="width:100%">
    @foreach($items as $key => $item)
        @if($key % 3 == 0) <!-- if index % 3 is 0 then create tr -->
        <tr>
        @endif
            <td>{{$item}}</td>
        @if(($key+1) % 3 == 0) <!-- if index + 1 % 3 is 0 then close tr -->
        </tr>
        @endif
    @endforeach
    @if(count($items) % 3 != 0)
        </tr>
    @endif
</table>
1 голос
/ 08 июля 2019

Используйте этот код:

@foreach($data as $key => $item)

    @if ($key % 3 == 0)
        <tr>
    @endif

    <td>{{ $item }}</td>

    @if (($key + 1) % 3 == 0)
        </tr>
    @endif

@endforeach

@if (($key + 1) % 3 != 0)
    </tr>
@endif

Вам необходимо:

  • Начать с тега <tr> (или каждые 3 записи)
  • Закрыть <tr> тег при обработке 3 записей
  • После цикла вы должны проверить, был ли последний тег <tr> закрыт, в противном случае закройте его
0 голосов
/ 08 июля 2019

Попробуйте это

<table style="width:100%">
    <?php $i = 0; ?>
    @foreach($items as $key => $item)
        @if($i == 2)
        <tr>
        @endif
            <td>{{$item}}</td>
        @if($i == 2)
            <?php $i = 0; ?> 
        </tr>
        @endif
       <?php $i++; ?>
    @endforeach
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...