Как считать столбец - PullRequest
       0

Как считать столбец

0 голосов
/ 22 июня 2019

У меня двенадцать целочисленных полей ввода оценок студентов, студент может попытаться сдать максимум 10 экзаменов и минимум 7 экзаменов, моя проблема в том, что когда студент делает 7 экзаменов, мне нужно, чтобы его среднее значение составляло только 7 предметов, Кто может помочь мне выполнить это.

Я сделал мой расчет в виду

    <td>{{round(((
           $formone->civ +
           $formone->hist +
           $formone->geo +
           $formone->kisw +
           $formone->engl +
           $formone->phy +
           $formone->chem +
           $formone->bio +
           $formone->ict +
           $formone->bm +
           $formone->comm +
           $formone->bk
         )/12),3)}} 
    </td>
    <td>{{ $formone->civ +
           $formone->hist +
           $formone->geo +
           $formone->kisw +
           $formone->engl +
           $formone->phy +
           $formone->chem +
           $formone->bio +
           $formone->ict +
           $formone->bm +
           $formone->comm +
           $formone->bk
        }} 
    </td>

1 Ответ

1 голос
/ 23 июня 2019

Вы можете иметь accessor на модели, чтобы вычислить average.

/* ACCESSORS */
public function getAverageAttribute()
{
    $subjects = ['civ', 'hist', 'geo', 'kisw', 'engl', 'phy', 'chem', 'bio', 'ict', 'bm', 'comm', 'bk',];
    $subjectCount = 0;
    $totalMarks = 0;

    foreach ($subjects as $subject) {
        // ASSUMPTION: Marks are null if the student did not attempt it.
        if ($this->attributes[$subject]) {
            $totalMarks += $this->attributes[$subject];
            $subjectCount++;
        }
    }
    return round($totalMarks / $subjectCount, 3);
}

И использовать его в своем виде как

<td> {{$formone->average}} </td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...