Перебор объектов, затем перебор свойств и значений объекта

#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. Прошлой ночью, когда я ложился спать, я думал о том, чтобы просто зациклить первый ответ. Я был прав. Спасибо!