我
发布的查询中的每个人问好,我正在尝试检索所有帖子和PfUserCurrent与PfUserCurrent分享友谊的人的所有帖子。
查询工作正常,但我只有一个问题,查询向我显示了当前用户之友的所有帖子,但没有显示当前用户发送的帖子......我已经尝试了几次尝试,但我无法解决这个问题......你能解释一下我错在哪里吗?
-(void)QueryForPost {
PFQuery *QueryForFriend=[PFQuery queryWithClassName:@"Friendships"];
[QueryForFriend whereKey:@"To_User" equalTo:[PFUser currentUser]];
[QueryForFriend whereKey:@"STATUS" equalTo:@"Confirmed"];
PFQuery *QueryYES = [PFQuery queryWithClassName:@"Post"];
[QueryYES whereKey:@"FLASH_POST" equalTo:[NSNumber numberWithBool:YES]];
[QueryYES whereKey:@"UserSelected" equalTo:[PFUser currentUser]];
PFQuery *QueryNO = [PFQuery queryWithClassName:@"Post"];
[QueryNO whereKey:@"FLASH_POST" equalTo:[NSNumber numberWithBool:NO]];
[QueryNO whereKey:@"Author" matchesKey:@"From_User" inQuery:QueryForFriend];
PFQuery *query = [PFQuery orQueryWithSubqueries:@[QueryYES,QueryNO]];
[query includeKey:@"Author"];
[query orderByDescending:FF_CREATEDAT];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
if (!error) {
NSLog(@"%@", results);
ArrayforPost = [[NSMutableArray alloc] init];
for (PFObject *object in results) {
[ArrayforPost addObject:object];
}
[self.FFTableView reloadData];
}
}];
}
经过与@rory长时间的讨论,我们得出正确的答案:
-(void)QueryForPost {
PFQuery *QueryForFriend=[PFQuery queryWithClassName:@"Amicizie"];
[QueryForFriend whereKey:@"A_User" equalTo:[PFUser currentUser]];
[QueryForFriend whereKey:@"STATO" equalTo:@"Confermato"];
[QueryForFriend includeKey:@"Da_User"];
PFQuery *QueryYES = [PFQuery queryWithClassName:@"Post"];
[QueryYES whereKey:@"FLASH_POST" equalTo:[NSNumber numberWithBool:YES]];
[QueryYES whereKey:@"Scelti" equalTo:[PFUser currentUser]];
PFQuery *normalPostByFriends = [PFQuery queryWithClassName: @"Post"];
[normalPostByFriends whereKey: @"FLASH_POST" equalTo: [NSNumber numberWithBool: NO]];
[normalPostByFriends whereKey: @"Utente" matchesKey:@"Da_User" inQuery:QueryForFriend];
PFQuery *normalPostByUser = [PFQuery queryWithClassName:@"Post"];
[normalPostByUser whereKey: @"FLASH_POST" equalTo: [NSNumber numberWithBool: NO]];
[normalPostByUser whereKey: @"Utente" equalTo: [PFUser currentUser]];
PFQuery *query = [PFQuery orQueryWithSubqueries:@[QueryYES,normalPostByFriends,normalPostByUser ]];
[query includeKey:@"Author"];
[query orderByDescending:FF_CREATEDAT];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
if (!error) {
NSLog(@"%@", results);
ArrayforPost = [[NSMutableArray alloc] init];
for (PFObject *object in results) {
[ArrayforPost addObject:object];
}
[self.FFTableView reloadData];
}
}];
}
通过进行另一个查询以显示当前用户的正常帖子并修改QueryForFriend
以获得正确的查询来处理该问题