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); }