private static function prepareRatingData(LimeQuestion $question, $labelsBr = "<br/>") { $maxRange = count($question->answers); $baseColumnName = "{$question->sid}X{$question->gid}X{$question->qid}"; $columnNames = array(); for ($i = 1; $i <= $maxRange && $i <= 5; $i++) { $columnNames[$i . " место"] = $baseColumnName . $i; } $groupedData = array(); foreach ($columnNames as $label => $columnName) { $sql = "SELECT a.answer answer, count(*) count\n FROM lime_survey_{$question->sid} s\n INNER JOIN lime_answers a ON a.code = s.{$columnName}\n WHERE submitdate IS NOT NULL AND {$columnName} <> '' AND a.qid = {$question->qid}\n GROUP BY {$columnName}, a.answer"; $answersRaw = $question->getDbConnection()->createCommand($sql)->queryAll(); $data = array(); foreach ($answersRaw as $answerRaw) { $data[] = array($answerRaw['count'], StringHelper::justifyString($answerRaw['answer'], 60, $labelsBr)); } $groupedData[$label] = $data; } return $groupedData; }
public static function model($className = __CLASS__) { return parent::model($className); }