From e0c6e3ef6872b9788bd1a2dd791ccff8e29bd20c Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Mon, 3 Jun 2024 11:41:30 -0400 Subject: [PATCH] Fixed division by zero error --- src/Models/Test.php | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/src/Models/Test.php b/src/Models/Test.php index 8301943..6860051 100644 --- a/src/Models/Test.php +++ b/src/Models/Test.php @@ -30,23 +30,34 @@ class Test extends Model { foreach ($this->benchmarks as $i => $b) { $benchmarkResults = $this->results()->where('benchmark_id', $b->id)->get(); - $averageResults = []; - $minimumResults = []; - $maximumResults = []; - foreach ($benchmarkResults as $r) { - array_push($averageResults, $r->average); - array_push($minimumResults, $r->minimum); - array_push($maximumResults, $r->maximum); - } + if (count($benchmarkResults) > 0) { + $averageResults = []; + $minimumResults = []; + $maximumResults = []; + foreach ($benchmarkResults as $r) { + array_push($averageResults, $r->average); + array_push($minimumResults, $r->minimum); + array_push($maximumResults, $r->maximum); + } - $data[$i] = [ - 'name' => $b->name, - 'scoring' => $b->scoring, - 'count' => count($benchmarkResults), - 'average' => (array_sum($averageResults) / count($averageResults)), - 'minimum' => (array_sum($minimumResults) / count($minimumResults)), - 'maximum' => (array_sum($maximumResults) / count($maximumResults)), - ]; + $data[$i] = [ + 'name' => $b->name, + 'scoring' => $b->scoring, + 'count' => count($benchmarkResults), + 'average' => (array_sum($averageResults) / count($averageResults)), + 'minimum' => (array_sum($minimumResults) / count($minimumResults) ? 1), + 'maximum' => (array_sum($maximumResults) / count($maximumResults)), + ]; + } else { + $data[$i] = [ + 'name' => $b->name, + 'scoring' => $b->scoring, + 'count' => count($benchmarkResults), + 'average' => 0, + 'minimum' => 0, + 'maximum' => 0, + ]; + } } return $data;