0

FriendRelation という Parse クラスがあります。このクラスには 2 人のユーザーがいて、1 人はフレンド、もう 1 人はユーザーです。

ユーザーのすべての友人が投稿したすべてのメッセージを取得したいと考えています。私は次のクエリでそうしようとしています:

 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 である必要があります。これは正しいです?

内部クエリの結果を、一致するクエリと一致するインターンになるユーザーにするにはどうすればよいですか?

ありがとう!

4

1 に答える 1

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

それがどうなるか教えてください!

于 2013-07-08T04:50:14.377 に答える