在解析中查询一对多关系

时间:2015-12-13 15:51:26

标签: android parse-platform

您好我试图在解析中查询一对多的关系。我有一个事件表和邀请表。一个事件有很多邀请,很多邀请都是由一个事件创建的。 Event表有一个名为accept的列。状态的值为status,表示所有者拥有。在邀请表中,我有一个列也称为状态,其他用户如果要去事件会将状态更新为1.我成功创建了表。现在我尝试查询状态为1的{​​{1}}和Event表。但我无法完成这项任务。以下是我的代码:

Invitation

当我尝试在ListView中显示时:

1

错误:我得到一个空指针,指示可能需要获取。请问我做错了什么

1 个答案:

答案 0 :(得分:0)

我相信你可能有两种选择:

 ParseQuery<ParseObject> query = ParseQuery.getQuery("Event");
 query.whereEqualTo("author", ParseUser.getCurrentUser());
 query.whereEqualTo("Status", "1");


ParseQuery<ParseObject> parseQuery = ParseQuery.getQuery("Invitation");
parseQuery.whereEqualTo("EventId", id)

List<ParseQuery<ParseObject>> queries = new ArrayList<ParseQuery<ParseObject>>();
queries.add(query);
queries.add(parseQuery);

ParseQuery<ParseObject> mainQuery = ParseQuery.or(queries);
mainQuery.findInBackground(new FindCallback<ParseObject>() {
  public void done(List<ParseObject> results, ParseException e) {
    // results has the list of of invitations/events.
  }
});

您还可以尝试将eventId保存到邀请表,这样您就不必查询两个表。但是,这将复制一些您可能会或可能不会使用的数据。