aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Fuhse <fuhse@data-quest.de>2023-07-19 14:23:04 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2023-07-19 14:23:04 +0000
commit413c5b998bf8884bb658e7311e772945fd1edb2d (patch)
tree3b906b23bd6156c5812862fa549db9c95f804bf2
parent2bce6f6afe7b037855387dcfc3d2dbd150a535b1 (diff)
Resolve "Eventuell falsche Anzahl an abgegebenen Antworten in Fragebögen angezeigt"
Closes #2942 Merge request studip/studip!1982
-rw-r--r--lib/models/Questionnaire.php7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/models/Questionnaire.php b/lib/models/Questionnaire.php
index f221ca1..d69068d 100644
--- a/lib/models/Questionnaire.php
+++ b/lib/models/Questionnaire.php
@@ -31,17 +31,20 @@ class Questionnaire extends SimpleORMap implements PrivacyObject
public function countAnswers()
{
$statement = DBManager::get()->prepare("
- SELECT COUNT(*)
+ SELECT COUNT(*) as `count_answers`
FROM questionnaire_answers
INNER JOIN questionnaire_questions ON (questionnaire_answers.question_id = questionnaire_questions.question_id)
WHERE questionnaire_id = :questionnaire_id
+ GROUP BY questionnaire_answers.question_id
+ ORDER BY `count_answers` DESC
+ LIMIT 1
");
$statement->execute([
'questionnaire_id' => $this->getId()
]);
$answers_total = $statement->fetch(PDO::FETCH_COLUMN, 0);
- return count($this->questions) ? $answers_total / count($this->questions) : 0;
+ return $answers_total;
}
public function isAnswered($user_id = null)