Выполнить среднее в массиве в Laravel

Я пытаюсь рассчитать среднее значение в моей таблице. Имя столбца term1_result и среднее значение находится в массиве, так как в моей таблице много студентов и предметов. Я группирую их по student_id, но я всегда получаю нулевое значение. Я использую Laravel фреймворк.

Код

$scores = Grades::with('student', 'subject')->groupBy('student_id')->get();

foreach($scores as $score) {
foreach($score as $key => $value) {
$sum_arr[] = $value['term1_result'];
}
$avg = array_sum($sum_arr) / count($sum_arr);
$avgarr[] = $avg;
}

dd($avgarr);

Результат

array:6 [▼
0 => 0
1 => 0
2 => 0
3 => 0
4 => 0
5 => 0
]

1

Решение

Вы должны попробовать это:

$scores = Grades::with('student','subject')->groupBy('student_id')->avg('term1_result');
0

Другие решения

Это из-за вашего контента SQL!

Вы сбросили свои результаты, чтобы увидеть результат?

Вы должны суммировать по каждому пункту в каждой группе.

Ты можешь видеть этот Узнать больше

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector