Как сгруппировать строки, которые имеют тот же Group IS, что и внешний ключ? - PullRequest
0 голосов
/ 13 июля 2020

Я просто пытаюсь создать группу студентов с одинаковым идентификатором группы и рассчитать CGPA только тех студентов, которые принадлежат к той же группе. Пример ссылки

Вот код для контроллера

public function View_GroupStudent()
{
    $allot_app = AllotmentApps::select(
        "AllotmentApps.grpID",
        "AllotmentApps.sname",
        "AllotmentApps.cgpa"
    )
    ->orderBy('grpID')
    ->get();
   
    return  view('deny', compact('allot_app'));
}

Представления:

<table class="table table-bordered">
  <tr>
    <th>Group Id</th>
    <th>Student Name</th>
    <th>Individuals CGPA</th>
    <th>Group CGPA</th>
  </tr>
  <tr>
  @foreach ($allot_app as $allot_app)
    <td>{{ $allot_app->grpID }}</td> 
    <td>{{ $allot_app->sname }}</td>
    <td>{{ $allot_app->cgpa }}</td>
    <td>{{ $allot_app->sum('cgpa') }}</td>
  </tr>   
  @endforeach
</table>

Также помогите мне в создании правильного представления для этого .

1 Ответ

0 голосов
/ 14 июля 2020

Меня смутило ваше изображение, потому что красные числа вовсе не были средними. Вы должны быть в состоянии достичь того, что пытаетесь сделать, с помощью следующего:

<table class="table table-bordered">
  <tr>
    <th>Group Id</th>
    <th>Student Name</th>
    <th>Individuals CGPA</th>
    <th>Group CGPA</th>
  </tr>
  @foreach ($allot_app->groupBy('grpID') as $grouped)
    @foreach ($grouped as $allot_app)
      <tr>
        <td>{{ $allot_app->grpID }}</td> 
        <td>{{ $allot_app->sname }}</td>
        <td>{{ $allot_app->cgpa }}</td>
        <td>{{ number_format($grouped->avg('cgpa'), 2) }}</td>
      </tr>   
    @endforeach
  @endforeach
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...