0

我正在尝试使用com.parse:parse-android:1.13.0parse android 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);

当我运行queryusingquery.getFirst()时,我没有从本地存储中检索到任何内容。我已经检查过courseQuery单独运行它并获取我Course需要的对象。这是一个已知的问题?我通过从这篇文章中获得帮助来继续这种方式。

4

1 回答 1

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);
于 2016-05-21T10:23:08.983 回答