您好我试图在解析中查询一对多的关系。我有一个事件表和邀请表。一个事件有很多邀请,很多邀请都是由一个事件创建的。 Event表有一个名为accept
的列。状态的值为status
,表示所有者拥有。在邀请表中,我有一个列也称为状态,其他用户如果要去事件会将状态更新为1.我成功创建了表。现在我尝试查询状态为1
的{{1}}和Event
表。但我无法完成这项任务。以下是我的代码:
Invitation
当我尝试在ListView中显示时:
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保存到邀请表,这样您就不必查询两个表。但是,这将复制一些您可能会或可能不会使用的数据。