Пример #1
0
 public function actionGetAll()
 {
     $session_id = Yii::app()->request->getPost("session_id", NULL);
     $session = Session::model()->find('session_id=:session_id', array(':session_id' => $session_id));
     $session_listenings = SessionListening::model()->findAll('session_id=:session_id', array(':session_id' => $session_id));
     $all = array();
     $all["session_id"] = $session->session_id;
     $all["session_name"] = $session->session_name;
     $all["session_order"] = $session->session_order;
     $all["mod_id"] = $session->mod_id;
     $all["listenings"] = array();
     foreach ($session_listenings as $key => $session_listening) {
         $temp_listening_id = $session_listening->listening_id;
         $listening = Listening::model()->find('listening_id=:listening_id', array(':listening_id' => $temp_listening_id));
         $all["listenings"][$key] = array('listening_id' => $listening->listening_id, 'listening_name' => $listening->listening_name, 'listening_repeat_number' => $listening->listening_repeat_number, 'listening_learning_guide_availability' => $listening->listening_learning_guide_availability);
         $criteria = new CDbCriteria();
         $criteria->addCondition("listening_id=:listening_id");
         $criteria->order = 'RAND()';
         $criteria->params = array(':listening_id' => $listening->listening_id);
         $questions = Question::model()->findAll($criteria);
         //$questions=Question::model()->findAll('listening_id=:listening_id',array('listening_id'=>$listening->listening_id));
         foreach ($questions as $key2 => $question) {
             $all["listenings"][$key]['questions'][$key2] = array('question_id' => $question->question_id, 'question_body' => $question->question_body, 'question_correct_answer_id' => $question->question_correct_answer_id);
             $criteria = new CDbCriteria();
             $criteria->addCondition("question_id=:question_id");
             $criteria->order = 'RAND()';
             $criteria->params = array(':question_id' => $question->question_id);
             $answers = Answer::model()->findAll($criteria);
             //$answers=Answer::model()->findAll('question_id=:question_id',array(':question_id'=>$question->question_id));
             foreach ($answers as $key3 => $answer) {
                 $all["listenings"][$key]['questions'][$key2]['answers'][$key3] = array('answer_id' => $answer->answer_id, 'answer_body' => $answer->answer_body);
             }
         }
     }
     $this->renderJSON($all);
 }