Запрос Parse.com для PFUser CurrentUser

Привет всем в опубликованном мной запросе. Я пытаюсь получить все сообщения и PfUserCurrent все сообщения людей, которые поделились дружбой с PfUserCurrent.

Запрос работает нормально, но у меня есть только одна проблема, запрос показывает мне все сообщения друзей CurrentUser, но не показывает мне сообщения, отправленные CurrentUser ... Я пробовал несколько попыток, но я не мог это исправить .. Вы можете объяснить, где я не прав?

-(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];
        }
    }];



}

person kAiN    schedule 01.11.2013    source источник
comment
Он итальянский, поэтому мне очень сложно понять ваши схемы баз данных. Вы должны предоставить нам более подробную информацию о вашей схеме базы данных :)   -  person babygau    schedule 02.11.2013
comment
Можете попробовать добавить этот [QueryForFriend includeKey:@"Da_User"] под свой QueryForFriend queries. Это может быть проблемой, если Da_User является указателем   -  person babygau    schedule 02.11.2013
comment
BabyGau Привет и спасибо за ответ :D Я отредактировал пост, пытаясь поставить все буквы базы данных на английском языке, чтобы вы лучше поняли... Я также пытался добавить ваш совет (includekey Da_User), но это не сработало.. .время у пользователя текущие посты не появляются... :((((   -  person kAiN    schedule 02.11.2013
comment
Я не думаю, что с вашим запросом что-то не так. Я сомневаюсь в этой строке [query orderByDescending:FF_CREATEDAT];, где FF_CREATEDAT может не совпадать с ключом createdAt в классе POST. Является ли ArrayforPost источником данных FFTableView???   -  person babygau    schedule 02.11.2013
comment
Это ArrayforPost - это NSMutableArray, используемый в Tableview .... Вся моя проблема исчезнет, ​​если я удалю эту строку [QueryForFriend whereKey: @ To_User equalTo: [PFUser currentUser]]; Итак, я просматриваю сообщение также во время пользователя. Текущая проблема в том, что если я удалю эту строку, текущий пользователь увидит сообщение всех подписчиков приложения, и это нехорошо, потому что он должен читать только сообщения своих друзей, как обычно. социальная сеть... Добавление этой строки посты фильтруются и отображаются только посты друзей но похоже что посты не отображаются CurrentUser   -  person kAiN    schedule 02.11.2013
comment
Итак, вы хотите, чтобы в результате отображались все сообщения текущего пользователя и только его друга, верно?   -  person babygau    schedule 02.11.2013
comment
Приложение будет публиковать время, когда пользователь должен вернуть всех текущих и его друзей .. только это   -  person kAiN    schedule 02.11.2013
comment
Я не могу помочь тебе сейчас, потому что то, чего ты хочешь достичь, все еще смущает меня. Сейчас 1:00, я напишу тебе через твиттер, когда буду свободен в тмр (с 10:00), если хочешь. Потому что будет лучше, если я смогу поболтать с вами, чтобы узнать подробности.   -  person babygau    schedule 02.11.2013
comment
вы, конечно ... если вы можете помочь, это было бы здорово .... Я жду вашего звонка ... Я также оставлю вам свой адрес электронной почты, чтобы я знал, когда вы свободны [email protected]   -  person kAiN    schedule 02.11.2013
comment
Конечно, приятель, я рад, если смог помочь. Спокойной ночи   -  person babygau    schedule 02.11.2013


Ответы (1)


После долгого обсуждения с @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 для правильного запроса.

person babygau    schedule 03.11.2013
comment
Еще раз спасибо за все, вы всегда очень полезны и добры! - person kAiN; 03.11.2013