#php #parse-platform #parse-server
Вопрос:
я создал приложение для анализа для своего мобильного приложения для викторины. Сейчас я пытаюсь получить статистику на своем веб-сайте для анализа.
У меня есть класс под названием GameStats, который содержит идентификатор пользователя, идентификатор вопроса, заданный ответ и правильный ответ. Все, что я хочу получить, — это все ответы, которые давали пользователи, но только на уникальный вопрос с самой старой датой. Я хочу посчитать их 1-е ответы. (Потому что в будущем они могут ответить несколько раз на один и тот же вопрос)
Идея состоит в том, чтобы отсортировать его по возрастанию даты и получить различные значения 1-го числа.
Вот мой код, который компилируется, но функция distinct не влияет:
$User = new ParseQuery("_User"); $User-gt;limit(99999999999); $User-gt;descending('createdAt'); $UserResults = $User-gt;find(); $B = []; $counter = 1; for($i=0;$ilt;count($UserResults);$i ){ $A = $UserResults[$i]; $UserID = $A-gt;getObjectId(); $username = $A-gt;get('username'); $email = $A-gt;get('email'); $GameStats = new ParseQuery("GameStats"); $GameStats-gt;limit(99999999999); $GameStats = $GameStats-gt;equalTo('userId', $UserID); $GameStats-gt;ascending("createdAt"); $GameStats-gt;distinct("questionId"); $GameStatsResults = $GameStats-gt;find(); $good = 0; $allQuestions = 0; for ($j=0; $jlt;count($GameStatsResults); $j ){ $D = $GameStatsResults[$j]; $answer = $D-gt;get('answer'); $questionId = $D-gt;get('questionId'); $Question = new ParseQuery("Question"); $Question-gt;limit(99999999999); $Question = $Question-gt;equalTo('objectId', $questionId); $QuestionResults = $Question-gt;find(); if(count($QuestionResults)gt;0){ $allQuestions ; } $QuestionGood = $Question-gt;equalTo('correctAnswer', $answer); $QuestionGoodResults=$QuestionGood-gt;find(); if(count($QuestionGoodResults)gt;0){ $good ; } } $C = array('lp'=gt;$counter,'userId'=gt;$UserID , 'userName'=gt;$username, 'email'=gt;$email, 'allQuestions' =gt; $allQuestions, 'good'=gt;$good); $counter ; $B[] = $C; } $json = json_encode($B); echo $json;