public function saveAnswers($code, $answers) { $questions = $this->getQuestions(); foreach ($answers as $key => $answer) { $aq = $this->getQuestionByPosition($questions, $key); $fr_id = $aq['fr_id']; $answer = $this->answerToDefault($fr_id, $answer); if (is_array($answer)) { $answer = implode(";", $answer); } $count = Result::find()->andWhere(['e_z_id' => $code['z_id'], 'e_fr_id' => $fr_id])->count(); if (!$count) { if (!trim($answer)) { if (isset($aq['dset'])) { $aid = $aq['dset']; } else { $aid = "err"; $answer = ""; } } else { $aid = $this->getAnswerId($aq, $answer); } if ($aq['display'] == "radio" && $aid !== "err") { $result = new Result(); $result->e_z_id = $code['z_id']; $result->e_fr_id = $fr_id; $result->a_id = $aid; $result->save(); } else { $result = new Result(); $result->e_z_id = $code['z_id']; $result->e_fr_id = $fr_id; $result->antwort = $answer; $result->save(); } } $status = $key; } $codeObj = Code::findOne($code['z_id']); $codeObj->status = $status; $codeObj->save(); return $status; }