Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

shone83's avatar

Average of percentage

I have two numbers that I get from relationships tables and I calculate percentage like this:

$safe_voters = AddMember::with('settlement')->whereHas('settlement', function($query) {
  $query->where('reon_id', '1');
  })->where('town_id', Auth::user()->town_id)->count();

$members = AddMember::with('settlement')->whereHas('settlement', function($query) {
  $query->where('reon_id', '1');
  })->where('town_id', Auth::user()->town_id)
  ->where('cipher_id', '0')
  ->count();

$percent_members = round(($members / $safe_voters) * 100,1);

In this way, I get all safe_voters together with reon_id == 1 and all safe_voters together with reon_id == 1 and cipher_id == 0 and calculate the percentage.

But, I need one more variable which has sum of percentage of each safe_voters and members separately. For example:

$safe_voters1 = 6;
$member1 = 3;
$percent1 = round(($member1 / $safe_voters1) * 100,1);

$safe_voters2 = 9;
$member2 = 3;
$percent2 = round(($member2 / $safe_voters2) * 100,1);

$safe_voters3 = 12;
$member3 = 3;
$percent3 = round(($member3 / $safe_voters3) * 100,1);

$final_percentage = $percent1  + $percent2 + $percent3;

$final_percentage it should be number 9 in this case.

How to get $final_percentage if I don't have each percentage separately?

One more thing, the number of safe_voters and members are raising so I suppose I need foreach loop first? I guess i must get percentage from loop individually but I don't know how...?

0 likes
0 replies

Please or to participate in this conversation.