/** * Updates an existing Quiz model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $quizQuestions = QuizQuestions::find()->where(['quiz_id' => $id])->with('quizAnswers')->all(); $quizResults = QuizResults::findAll(['quiz_id' => $id]); if ($model->load(Yii::$app->request->post()) && $model->save()) { foreach ($quizQuestions as $question) { QuestionsAnswers::deleteAll(['question_id' => $question['id']]); } QuizResults::deleteAll(['quiz_id' => $id]); QuizQuestions::deleteAll(['quiz_id' => $id]); $newQuizQuestion = new QuizQuestions(); $newQuizResults = new QuizResults(); if ($newQuizQuestion->saveQuizQuestions(Yii::$app->request->post('question'), $model['id'])) { if ($newQuizResults->saveQuizResults($model['id'], Yii::$app->request->post('results'))) { return $this->redirect(['view', 'id' => $model->id]); } } //return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('update', ['model' => $model, 'quizQuestions' => $quizQuestions, 'quizResults' => $quizResults]); } }