Beispiel #1
0
 /**
  * magic method - gets an Answer property
  * @param $aID
  * @return Answer
  * @throws \Exception
  */
 public function __get($aID)
 {
     $id = str_replace("a", "", $aID);
     $optionDefinitions = $this->questionDefinition->getOptionDefinitions();
     $answers = $this->poll->getAnswers();
     foreach ($optionDefinitions as $optionDefinition) {
         if ($optionDefinition->getId() == $id) {
             if ($answers->isEmpty()) {
                 $answer = new Answer();
                 $answer->setPoll($this->poll);
                 $answer->setOptionDefinition($optionDefinition);
                 return $answer;
             } else {
                 $contains = false;
                 $foundAnswer = null;
                 foreach ($answers as $an) {
                     if ($an->getOptionDefinition()->getId() == $id) {
                         $contains = true;
                         $foundAnswer = $an;
                     }
                 }
                 if ($contains) {
                     return $foundAnswer;
                 } else {
                     $answer = new Answer();
                     $answer->setPoll($this->poll);
                     $answer->setOptionDefinition($optionDefinition);
                     return $answer;
                 }
             }
         }
     }
     throw new \Exception("invalid id");
 }