Невозможно выполнить запрос с помощью указателя с помощью 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);