Для каждого l oop непрерывно, но не заполняет массив - PullRequest
0 голосов
/ 07 февраля 2020

Проблема

Эй, мой массив $isActiefErr и $naamErr не заполняется после того, как я сгенерирую исключение, но foreach l oop продолжает проверять значения. Я знаю, что foreach l oop продолжает цикл, потому что массив, который должен иметь все значения, заполняется, но ошибка array останавливается после того, как он обнаруживает свою первую ошибку.

Что я пробовал:

Я пытался напечатать array, но он только выдавливает первую ошибку в мой массив. Затем он перестает проверять. Это также показано в моем журнале ошибок. Я думаю, что проблема заключается в попытке / ловле, но я просто не могу подтвердить это из-за недостатка знаний о попытках / ловле.

Вопрос

Как я могу получить массив в pu sh и отобразить все ошибки с блоком try / catch, окружающим его? Или я просто что-то упустил, и проблема не связана с попыткой / ловлей?

Это мой код:

$validateOk = 0;
$setVar = new SetVariable();

$teller = 1;
$save = null;
$validateOk = 0;

$con->beginTransaction();
$weg = TypeQuery::create()->find();
$weg->delete();

try {
    foreach ($_POST as $key => $value) {
        if (isEven($teller)) {
            $validateOk += $setVar->nameval($key)
                ->onerror($isActiefErr[]) //errors aren't being pushed into this array, besides the first one.
                ->validator(v::numericVal())
                ->go();
            if ($validateOk == 0) {
                $save->setCode(substr($key, 1));
                $save->setIsActief($value);
                $save->save();
            } else {
                //ROLLBACK/CATCH
                throw new Exception($error);
            }
        } else {
            $validateOk += $setVar->nameval($key)
                ->onerror($naamErr[])
                ->validator(v::alpha('/()éá&.,   '))
                ->go();
            if ($validateOk == 0) {
                $save = new Type();
                $save->setCode(substr($key, 1));
                $save->setNaam($value);
            } else {
                //ROLLBACK/CATCH
                throw new Exception($error);
            }
        }
        $teller += 1;
    }
    $con->commit();
} catch (Exception $e) {
    $error = "Het opslaan is fout gegaan!";
} {
    $con->rollback();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...