بعد البحث وجدت ان الكود يقوم باعاده انشاء المتغير مع كل لفة في loop في البتالي لا يحتفظ ببيانات او قيمة
private function calculateTotals($transactions)
{
$totals = [];
foreach ($transactions as $transaction) {
$previousTransactions = $transactions->filter(function ($t) use ($transaction) {
return $t->payed_at <= $transaction->payed_at;
});
$previousDebit = $previousTransactions->sum('debit');
$previousCredit = $previousTransactions->sum('credit');
$totals[$transaction->id] = [
'transaction' => $transaction,
'total' => $previousCredit - $previousDebit,
];
}
return $totals;
}
وهذه طريقة العرض
@forelse($calc as $key=> $trans)
<tr role="row">
<td>{{ $loop->iteration }}</td>
<td>{{$trans['transaction']->user->first_name}}</td>
<td>{{ $trans['transaction']->num }}</td>
<td>{{ $trans['transaction']->payed_at }}</td>
<td>{{ $trans['transaction']->formatcurrncy($trans['transaction']->credit) }}</td>
<td>{{ $trans['transaction']->formatcurrncy($trans['transaction']->debit) }}</td>
<td> {{$trans['transaction']->formatcurrncy($trans['total'])}} </td>
</tr>
@empty
<tr>
<td class="text-center" colspan="5">
{{ trans('client.report_msg') }}</td>
</tr>
@endforelse