OEModule\OphCiExamination\controllers\DefaultController::setComplexAttributes_Element_OphCiExamination_InjectionManagementComplex PHP Method

setComplexAttributes_Element_OphCiExamination_InjectionManagementComplex() protected method

associate the answers and risks from the data with the Element_OphCiExamination_InjectionManagementComplex element for validation.
protected setComplexAttributes_Element_OphCiExamination_InjectionManagementComplex ( Element_OphCiExamination_InjectionManagementComplex $element, array $data, $index )
$element Element_OphCiExamination_InjectionManagementComplex
$data array
$index
    protected function setComplexAttributes_Element_OphCiExamination_InjectionManagementComplex($element, $data, $index)
    {
        $model_name = \CHtml::modelName($element);
        foreach (array('left' => \Eye::LEFT, 'right' => \Eye::RIGHT) as $side => $eye_id) {
            $answers = array();
            $risks = array();
            $checker = 'has' . ucfirst($side);
            if ($element->{$checker}()) {
                if (isset($data[$model_name][$side . '_Answer'])) {
                    foreach ($data[$model_name][$side . '_Answer'] as $id => $p_ans) {
                        $answer = new models\OphCiExamination_InjectionManagementComplex_Answer();
                        $answer->question_id = $id;
                        $answer->answer = $p_ans;
                        $answer->eye_id = $eye_id;
                        $answers[] = $answer;
                    }
                }
                if (isset($data[$model_name][$side . '_risks'])) {
                    foreach ($data[$model_name][$side . '_risks'] as $risk_id) {
                        if ($risk = models\OphCiExamination_InjectionManagementComplex_Risk::model()->findByPk($risk_id)) {
                            $risks[] = $risk;
                        }
                    }
                }
            }
            $element->{$side . '_answers'} = $answers;
            $element->{$side . '_risks'} = $risks;
        }
    }
DefaultController