Подтвердить Суммирование поля массива из foreach Laravel - PullRequest
1 голос
/ 09 января 2020

В настоящее время у меня работает foreach array, где он собирает все tasks и содержит weight для каждой задачи.

Вот мой рабочий код

foreach ($arr4 as $row4) {
    $taskCode = strtoupper(str_random(12));
    $insert_data5[] = array(
        'projCode'  =>  $projCode,
        'taskCode'  => $taskCode,
        'taskWeight'  =>  $row4['weight'],
        'plan_days' =>  $row4['planned_days'],
        'actual_days'  =>  $row4['actual_days'],
        'deleted'  =>  0,
        'by_id'  => auth()->user()->id,
        'updated_by'    =>  auth()->user()->name,
        'created_at'    =>  now(),
        'updated_at'    => now(),
        );

}

dd($insert_data5);

ВЫВОД

enter image description here

То, что я пытаюсь сделать, это проверить, если сумма taskWeight из 5 Tasks не достигла 100%, это покажет сообщение об ошибке.

На данный момент моя идея заключается в использовании validator, но я понятия не имею, как я могу вычислить поля массива taskWeight

  $validator = Validator::make(
                $insert_data5,
                [
                   ......
                ]
            );


   if($validator->fails()){
                return redirect()
                ->back()
                ->with(['errors'=>$validator->errors()->all()])
                ->with('modal',$modal);
            }

1 Ответ

1 голос
/ 09 января 2020

Исправил мою проблему

Я объявляю $ttlTaskWeight = 0; вне foreach

Затем, как предложено, суммируйте сумму внутри foreach

, как это

$ttlTaskWeight += $row4['weight'];

, и я сделал это, чтобы проверить, превышает ли оно 100% или нет

    if($ttlTaskWeight != 100){
                return redirect()
                ->back()
                ->with(['errors'=> [0=> 'Total Task Weight must be exact 100%']])
                ->with('modal',$modal);
            }

, и на выходе получится

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...