我在parse.com上为我的Android App创建了5个表:
1. users
(姓名,密码,电话等)
2. list
(列表名称,注释,图像,用户)
3. subscribe_user_list
(列表,用户)
4. favorite_user_list
(列表,用户)
5. contacts
(contact_name,number,list)
每个list
都有多个contacts
。用户可以订阅列表并将列表标记为收藏。
我想从list
表中获取用户已订阅的所有列表以及每个列表的以下详细信息:
1.订阅列表的用户总数
2.将列表标记为收藏的用户总数
3.该名单中的联系总人数。
在使用多个连接查询的SQL中很容易实现这一点,但是,我不知道如何在解析中的单个查询中获取此信息。是否有人可以帮助我...
答案 0 :(得分:1)
您可以使用compound queries根据其他查询结果创建查询。
答案 1 :(得分:0)
"you must create a separate table in which the relationship is tracked.
This table, which we will call Favourite, would have a 'User_Id'
column and a 'Favourite_Id' column, each with a pointer to a Parse User."
currentUser = ParseUser.getCurrentUser();
ParseQuery<ParseObject> query = ParseQuery.getQuery("Favourite");
query.whereEqualTo("User_Id", currentUser);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> objectList, ParseException e) {
if (e == null) {
userList = new ArrayList<ParseObject>();
parseUsers = new ArrayList<ParseUser>();
for (int i = 0; i < objectList.size(); i++) {
userList.add((ParseObject) objectList.get(i).get("Favourite_Id"));
}
for (int i = 0; i < userList.size(); i++) {
userList.get(i).fetchIfNeededInBackground(new GetCallback<ParseUser>() {
@Override
public void done(ParseUser object, ParseException e) {
if (e == null) {
parseUsers.add(object);
}
}
});
}
}
}
});