У меня есть две таблицы: Счет-фактура и Услуги. Я пытаюсь запросить счета-фактуры со службами как отношения. У меня есть счета, сгруппированные по дате. Есть ли правильный способ суммировать столбец в отношении после того, как я сгруппировал коллекцию? Это единственное решение, которое я нашел, но оно предполагает использование php-кода, на мой взгляд. Я хотел бы сохранить php в контроллере, если это возможно.
Вот мой контроллер:
$invoices = \App\Invoice::
with('services')
->orderBy('date')
->get()
->groupBy(function($item) {
return Carbon::createFromFormat('Y-m-d', $item->date)->format('Y-M');
});
Вот мой взгляд:
@foreach ($invoices as $key=>$i)
<tr>
<td>{{$key}}</td>
<td class="text-right">{{$i->sum('discount')}}</td>
<td class="text-right">
<?php $sum = 0;?>
@foreach($i as $x)
<?php $sum += $x->services->sum('rate') ?>
@endforeach
{{$sum}}
</td>
</tr>
@endforeach