Невозможно выполнить запрос с помощью указателя с помощью Android SDK

Я пытаюсь выполнить запрос, используя com.parse:parse-android:1.13.0 версия разбора андроид SDK. Я создаю запрос на локальном хранилище и использую ParseQuery$whereMatchesQuery() метод для сопоставления столбца, хранящего указатель на другой класс в моей базе данных. Код, который у меня есть, следующий:

ParseQuery<PracticeSessionDetails> query = ParseQuery.getQuery(PracticeSessionDetails.class);
query.fromLocalDatastore();
query.ignoreACLs();
query.whereEqualTo("user", ParseUser.getCurrentUser());

ParseQuery courseQuery = new ParseQuery("Course");
courseQuery.whereEqualTo("objectId",courseId);
query.whereMatchesQuery("course", courseQuery);

Когда я бегу query с помощью query.getFirst()Я ничего не получаю из локального хранилища. Я уже проверил запуск courseQuery по отдельности Course объект, который мне нужен. Это известная проблема? Я продолжил этот путь, получив помощь от этого поста.

1 ответ

Я думаю, что вы смешиваете запрос, сохраняя указатель на другой класс в вашей базе данных. Используйте следующий код для решения вашей проблемы:

   ParseQuery<PracticeSessionDetails> query = ParseQuery.getQuery(PracticeSessionDetails.class);
   query.fromLocalDatastore();
   query.ignoreACLs();
   query.whereEqualTo("user", ParseUser.getCurrentUser());

   ParseQuery<ParseObject> courseQuery = ParseQuery.getQuery("Course");
   courseQuery.whereMatchesQuery("course", query);
Другие вопросы по тегам