使用Parse.com进行多个查询搜索

时间:2014-02-23 04:54:08

标签: ios objective-c parse-platform

我尝试查询以根据特定凭据查找特定用户。

查询只会在User类中查找。

首先,我希望查询与当前用户的位置匹配

其次,必须匹配特定类别(意味着同一位置的多个用户可能属于同一类别)

以下是我的尝试:

self.profileObj = [self.currentUser objectForKey:@"city"];

PFQuery * queryOne = [PFUser query]; 
[queryOne whereKey:@"city" equalTo:self.profileObj];

PFQuery * queryTwo = [PFUser query]; 
[queryTwo whereKey:@"category" equalTo:self.tagString];

PFQuery * query = [PFQuery orQueryWithSubqueries:@[queryOne, queryTwo]]; 
[query orderByAscending:@"createdAt"]; 
[query findObjectsInBackgroundWithBlock:(NSArrayobjects, NSError error)

这将返回0结果。

1 个答案:

答案 0 :(得分:3)

由于您要查询同一个User对象,因此您不需要两个单独的查询。另外,我相信你想要两个AND约束而不是OR?如果是这样,你可以将两个whereKeys链接在一起:

PFQuery * query = [PFQuery queryWithClassName:@"User"]; 
[query whereKey:@"city" equalTo:self.profileObj];
[query whereKey:@"category" equalTo:self.tagString];
[query orderByAscending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
     ...
}];