protected function afterSave() { parent::afterSave(); if ($this->_isNew()) { /** * Отмечаем факт голосования в опросе и вариантах */ $oPoll = $this->getPoll(); $aAnswerItems = $this->getAnswersObject(); if ($aAnswerItems) { foreach ($aAnswerItems as $oAnswer) { $oAnswer->setCountVote($oAnswer->getCountVote() + 1); $oAnswer->Update(); } $oPoll->setCountVote($oPoll->getCountVote() + 1); } else { $oPoll->setCountAbstain($oPoll->getCountAbstain() + 1); } $oPoll->Update(0); } }
protected function afterSave() { parent::afterSave(); /** * Сохраняем варианты */ if ($aAnswers = $this->getAnswersObject()) { foreach ($aAnswers as $oAnswer) { $oAnswer->setPollId($this->getId()); $oAnswer->Save(); } } /** * Удаляем варианты */ if ($aAnswers = $this->getAnswersObjectForRemove()) { foreach ($aAnswers as $oAnswer) { $oAnswer->Delete(); } } }