我想混合两个PFQuery
结果。在下面的代码中,我得到了两个结果的交集的结果(因此,所有用户名和fullName的用户都包含self.searchText
),我想包括所有结果(因此,所有用户名等于的用户self.searchText
和所有fullName等于的用户self.searchText
)。
PFQuery *query = [PFUser query];
[query whereKey:@"username" containsString:self.searchText];
[query whereKey:@"fullName" containsString:self.searchText];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
NSLog(@"%@ %@", error, [error userInfo]);
} else {
self.searchResults = [[NSMutableArray alloc] initWithArray:objects];
NSLog(@"%@", objects);
[self.tableView reloadData];
}
}];
您想要做的是获取两个集合的并集(OR)而不是它们的交集(AND)
使用以下代码应该可以为您带来符合这些条件中的任何一个的所有用户
PFQuery *firstQuery = [PFUser query];
[firstQuery whereKey:@"username" containsString:self.searchText];
PFQuery *secondQuery = [PFUser query];
[secondQuery whereKey:@"fullName" containsString:self.searchText];
PFQuery *query = [PFQuery orQueryWithSubqueries:@[firstQuery ,secondQuery ]];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
if (error) {
NSLog(@"%@ %@", error, [error userInfo]);
} else {
self.searchResults = [[NSMutableArray alloc] initWithArray:objects];
NSLog(@"%@", objects);
[self.tableView reloadData];
}
}];
这是指南的链接
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句