我需要在Parse中为用户查询大量朋友的消息。
我有一个Friend_Relation对象,有两个用户,一个朋友和一个当前用户。
每个用户都有许多Message对象(我只关注最新的)。关系松散如下: [message setObject:currentUser forKey:@“userMessage”];
用户对象具有最新消息objectId的属性。
如何获取所有用户的朋友及其消息?
我在想是否能够轻松查询所有用户的朋友。如果我可以创建一个我从用户朋友那里获得的objectIds的NSArray,我可以通过另一个查询来获取所有这些用户的消息。我怎么能动态创建这种类型的查询?
答案 0 :(得分:0)
您可以使用内部查询来实现此目的:
PFQuery *getAllFriendsInnerQuery = [[currentUser relationForKey:@"friend"] query];
PFQuery *messageQuery = [PFQuery queryWithClassName:@"Message"];
[messageQuery whereKey:@"userMessage" matchesQuery:getAllFriendsInnerQuery];
[messageQuery findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {
// Here the parameter array contains all the messages from current user's friends
}];
答案 1 :(得分:0)
答案肯定是使用像这样的方法:
NSArray *names = [self.user objectForKey:@"friends"];
[query whereKey:@"userMessaga" containedIn:names];