%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/polls/models/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/polls/models/PollAnswer.php |
<?php namespace humhub\modules\polls\models; use Yii; use humhub\components\ActiveRecord; use humhub\modules\polls\models\Poll; use humhub\modules\polls\models\PollAnswerUser; /** * This is the model class for table "poll_answer". * * The followings are the available columns in table 'poll_answer': * @property integer $id * @property integer $poll_id * @property string $answer * @property string $created_at * @property integer $created_by * @property string $updated_at * @property integer $updated_by * * @package humhub.modules.polls.models * @since 0.5 * @author Luke */ class PollAnswer extends ActiveRecord { public $active = true; /** * @return string the associated database table name */ public static function tableName() { return 'poll_answer'; } /** * @return array validation rules for model attributes. */ public function rules() { return array( array(['poll_id', 'answer'], 'required'), array(['poll_id'], 'integer'), array(['answer'], 'string', 'max' => 255), ); } public function getPoll() { return $this->hasOne(Poll::className(), ['id' => 'poll_id']); } public function getVotes() { $query = $this->hasMany(PollAnswerUser::className(), ['poll_answer_id' => 'id']); return $query; } public function beforeDelete() { foreach ($this->votes as $answerUser) { $answerUser->delete(); } return parent::beforeDelete(); } /** * Returns the percentage of users voted for this answer * * @return int */ public function getPercent() { $total = PollAnswerUser::find()->where(array('poll_id' => $this->poll_id))->count(); if ($total == 0) return 0; return $this->getTotal() / $total * 100; } /** * Returns the total number of users voted for this answer * * @return int */ public function getTotal() { return PollAnswerUser::find()->where(array('poll_answer_id' => $this->id))->count(); } public static function filterValidAnswers($answerArr) { if (empty($answerArr)) { return []; } $result = []; foreach ($answerArr as $key => $answerText) { if($answerText != null && $answerText !== '') { $result[$key] = $answerText; } } return $result; } }