Я разрабатываю викторину с использованием формы в cakephp.Я объявил переменную в моем контроллере CourseModules ($ passMark), где HR, разрабатывающий тест, может установить процент прохождения, который необходим пользователю для успешного завершения теста.Я объявил переменную следующим образом:
case "Quiz":
$quiz = $this->CourseModules->FormTemplates->find('list')->where(['active'=>true,'type'=>'Quiz']);
$passMark = [100=>'100%',90=>'90%',80=>'80%',70=>'70%',60=>'60%',
50=>'50%',40=>'40%',30=>'30%',20=>'20%',10=>'10%',0=>'0%'];
$this->set('passMark',$passMark);
$this->set('quiz',$quiz);
break;
Затем мне нужно получить доступ к переменной $ passMark в моем FormsController, чтобы я мог проверить ее по другой переменной ($ percCorrect).$ percCorrect объявляется так в моем контроллере форм:
$percCorrect = $numberCorrect / $numberOfQuizQuestions * 100;
$this->set('percCorrect', $percCorrect);
Я хочу сделать оператор if, поэтому проверьте, если $ percCorrect <$ passMark, но я не уверен, как получить доступ к $ passMark, потому что CourseModules isnне связан с Forms Controller. </p>
У меня есть еще один контроллер, называемый CoursesEnrolledModules, который связан, поэтому мне интересно, могу ли я как-то получить к нему доступ через него?
У меня есть следующий код в моемFormsController для загрузки модулей CoursesEnrolled:
//Check if courses_enrolled_module_id is set
$courses_enrolled_module_id = $this->request->getQuery('courses_enrolled_module_id');
//If so make sure it is valid
if($courses_enrolled_module_id){
$this->loadModel('CoursesEnrolledModules');
$coursesEnrolledModule = $this->CoursesEnrolledModules->get($courses_enrolled_module_id,
['contain'=>[],
]);
//Pass variable to view so we can show correct back button
$this->set('coursesEnrolledModule', $coursesEnrolledModule);
//Also after save we will redirect.
}