Как получить сумму строк для последних столбцов?в цикле foreach - PullRequest
0 голосов
/ 05 апреля 2019

Я экспортирую файл Excel, используя Maatwebsite/Laravel-Excel. У меня есть Проекты> Модули (для каждого проекта)> Действия (для каждого модуля)> Даты> Время (для каждой даты). Я могу отображать время для каждой даты, а затем я суммирую общее количество часов, потраченных на каждое действие, но затем я должен суммировать общее количество часов для всех действий в каждом модуле. Что я не в состоянии это сделать?

Данные Excel

# Project A #
## Module A      date1 date2 date3  total  total2
### Activity A  1      2     3       6      18 (this is what I wanna display)
### Activity B  1      2     3       6
### Activity C  1      2     3       6

лезвие

@foreach($project as $pro)
    @foreach($pro->modules as $mod)
        @foreach($activity as $act)
            <tr>
                <td>{{$pro->name}}</td>
                <td>{{$mod->name}}</td>
                <td>{{$act->name}}</td>
                @foreach($time[$pro->id][$mod->id][$act->id] as $log)
                    <td>{{$log}}</td>
                @endforeach
                <td>
                    {{ array_sum($time[$pro->id][$mod->id][$act->id])}}
                    {{-- This is where I get the total --}}
                </td>
                <td>{{-- Here I want to display total2 --}}</td>
            </tr>
        @endforeach
    @endforeach
@endforeach

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Суммируйте его на контроллере, добавьте свойство для объектов, называемое «сумма», а затем отобразите его на блейде

$activity->setAttribute('sum', 'sumresult');
0 голосов
/ 05 апреля 2019

Laravel поставляется с очень мощным инструментом - коллекциями.Вы должны определенно взглянуть на доступные методы .Кроме того, избегайте использования любых видов вычислений в ваших файлах представлений и обрабатывайте данные, которые вы хотите вывести, прежде чем передавать их в представление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...