コード例 #1
0
ファイル: QuizQuestions.php プロジェクト: Akelcehg/psycho
 public function saveQuizQuestions($questions, $quiz_id)
 {
     $questionAnswers = new QuestionsAnswers();
     for ($i = 0; $i < count($questions); $i++) {
         $quizQuestion = new QuizQuestions();
         $quizQuestion->name = $questions[$i]['name'];
         $quizQuestion->quiz_id = $quiz_id;
         if (!$quizQuestion->save()) {
             return false;
         } else {
             if (!$questionAnswers->saveQuestionAnswers($quizQuestion->id, $questions[$i]['answers'])) {
                 return false;
             }
         }
     }
     return true;
 }
コード例 #2
0
ファイル: QuizController.php プロジェクト: Akelcehg/psycho
 /**
  * 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]);
     }
 }