#php #loops #object #laravel #properties
#php #циклы #объект #laravel #свойства
Вопрос:
Это довольно запутанно, но просто пойдите со мной здесь. У меня есть массив из 32 объектов, которые я хотел бы перебрать и отобразить в таблице. Я могу выполнить итерацию по массиву следующим образом (используя blade):
<table class="table table-bordered">
<thead>
@foreach($stats as $stat)
@foreach($stat as $property => $value)
<th>
{{ $property }}
</th>
@endforeach
@endforeach
</thead>
<tbody>
@foreach($stats as $stat)
<tr>
@foreach($stat as $property => $value)
<td>
{{ $value }}
</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
и это выполняет циклы… ну? Что происходит, так это то, что тело таблицы заполняется правильно, и заголовок таблицы также заполняется, однако свойства в заголовке таблицы повторяются для каждого из 32 объектов. Так что это действительно длинный заголовок таблицы!
Позвольте мне объяснить, почему я выполняю двойной цикл… $stats
это массив, состоящий из 32 объектов, которые я разбиваю на страницы с помощью Laravel. Итак, я перебираю это, затем мне нужно перебрать отдельный объект, чтобы добавить его свойство в head и его значение в теле. Вот почему я также вставляю цикл в head и body. Один для свойства и один для значения.
Ответ №1:
Цикл только первого элемента для построения Table Header
<thead>
@foreach($stats->first() as $property => $value)
<th>
{{ $property }}
</th>
@endforeach
</thead>
Комментарии:
1. Прошлой ночью, когда я ложился спать, я думал о том, чтобы просто зациклить первый ответ. Я был прав. Спасибо!