Я хочу получить общее количество всех пользователей, связанных с проектом, используя Laravel - PullRequest
0 голосов
/ 10 июля 2020

Я хочу получить общую сумму всех пользователей, и у меня уже есть общее количество отдельных пользователей, но мне нужно получить сумму всех пользователей, связанных с проектом. Понятия не имею, как это сделать.

Я хочу получить такую ​​общую сумму:

Employee  | joylinkhk | merakpaper 

azher     |   7       |  8
usaid     |   2       |  9

Grand     |   9       | 17  
total

html просмотр

<table class="table table-bordered table-striped table table-responsive" >
              <thead>
                <tr>
                  <th>Employee
                  </th>
                  @foreach($projects as  $project)  
                  <th>{{$project->name}}
                  </th>
                  @endforeach
                </tr>
              </thead>
              <tbody>
                @foreach ($hourlogs->groupBy("user_id") as $item)
                    <tr>
                      <td>{{$item->first()->user->name}}</td>
                      @foreach($projects as  $project)  
                        <td>{{round($item->where("project_id", $project->id)->sum("hour_work") / 60,1)}}</td>
                      @endforeach
                    </tr>
                @endforeach
              </tbody>
              <tfoot>
                 <tr>
                  <td>Grand Total</td>  
                     
                    <td></td>
                     
                </tr>
              </tfoot>
            </table>

1 Ответ

1 голос
/ 10 июля 2020

Почему простой метод sum() не решит проблему?

<tfoot>
    <tr>
        <td>Grand Total</td>  
        @foreach($projects as $project) 
        <td>{{round($hourlogs->where('project_id', $project->id)->sum('hour_work') / 60, 1)}}</td>
        @endforeach
    </tr>
</tfoot>

Таким образом вы просто фильтруете экземпляры Hourlog для каждого проекта и суммируете их hour_work для всех пользователей .

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