crypto hacks
crypto hacks

Reputation: 41

foreach with get() return only one record laravel?

i want to sum profit by activating multiple plans. I am using get() with foreach but it returns only last row data. not all rows data. its strange while on other queries it returns all rows data. for example, I have 2 deposits one 25$ and 2nd 35$ its returns 35$ data only. i tried with

 $deposits = Deposit::get();

but it is not working I went to increase rows to 12 but still, it returns data of 12th row only

 $deposits = Deposit::where('account_id', $account->id)->where('status',1)->get();

                  foreach($deposits as $pn) {

                       $plans = package::where('id',$pn->plan)->first();
                       $percent = $plans->min_amount * $plans->percent/100;

                  }

Upvotes: 0

Views: 862

Answers (1)

W Kristianto
W Kristianto

Reputation: 9303

After discussing in chat, the real problem is adding up the percentages during looping :

$percent = 0;

foreach ($deposited as $de) {
    $pack    = Package::Where('id', $de->plan)->first();
    $log     = Deposit::Where('id', $de->id)->first();
    $percent = $percent + ($log->amount * $pack->percent / 100);
}

Upvotes: 1

Related Questions