我有一个名为FriendRelation的Parse类。这个类有两个用户,一个是朋友,另一个是用户。
我希望得到用户所有朋友发布的所有消息。我试图通过以下查询来执行此操作:
PFQuery *innerQuery = [PFQuery queryWithClassName:@"FriendRelation"];
[innerQuery whereKey:@"user" equalTo:currentUser];
PFQuery *query = [PFQuery queryWithClassName:@"Message"];
[query whereKey:@"userMessage" matchesQuery:innerQuery];
[query findObjectsInBackgroundWithBlock:^(NSArray *comments, NSError *error) {
}];
此查询返回时没有结果。
我相信这是因为行:
[query whereKey:@"userMessage" matchesQuery:innerQuery];
where键需要与FriendRelation匹配。它是否正确?
如何让内部查询的结果成为与匹配查询实际匹配的用户?
谢谢!
答案 0 :(得分:1)
您可以尝试使用
- (void)whereKey:(NSString *)key matchesKey:(NSString *)otherKey inQuery:(PFQuery *)query
类似的东西:
PFQuery *innerQuery = [PFQuery queryWithClassName:@"FriendRelation"];
[innerQuery whereKey:@"user" equalTo:currentUser];
PFQuery *query = [PFQuery queryWithClassName:@"Message"];
[query whereKey:@"userMessage" matchesKey:@"firendUser" inQuery:innerQuery];
[query findObjectsInBackgroundWithBlock:^(NSArray *comments, NSError *error) {
//do something useful..
}];
让我知道它是怎么回事!