4

他のオブジェクトを指しているPFUserオブジェクトがいくつかあります。PFRelation次のコードを実行すると:

PFRelation *relation = [[PFUser currentUser] relationForKey:@"Relation"];
PFQuery *query = [relation query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
    NSLog(@"%@", objects);
}];

それは正常に動作します。ただし、ローカル データ ストアから同じことをしたい場合:

PFRelation *relation = [[PFUser currentUser] relationForKey:@"Relation"];
PFQuery *query = [[relation query] fromLocalDataStore]; // !!!
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
    NSLog(@"%@", objects);
}];

ユーザー オブジェクトと関連オブジェクトの両方を でピン留めしたにもかかわらず、何も返されません[myObject pinInBackground]

PFRelationクエリがサポートされていないのはなぜfromLocalDataStoreですか? 私が間違っていることは何ですか?

4

3 に答える 3

1

この問題に関するバグ レポートを作成しました。

さらに調査するためにエンジニアリング チームにエスカレーションされました

だからバグっぽい

その間、すべての myを関連するsPFRelationsへのポインターの配列に変換しました。PFObjectほど派手ではありませんPFRelationが、ローカル データ ストレージで問題なく動作します。

更新: parseは、Parse SDK v.1.7.3の問題を解決しました

于 2015-03-20T00:41:40.230 に答える
0

これは解析バグです。Android SDKでも再現可能です。iOSではわかりませんが、Androidではそれを機能させる方法を見つけました。

sを持つPointerに「関連する」クラスを含める必要があります。ParseObjectRelation

あなたの場合、PFUserいくつかPFRelationの s を持つ があります。「関連する」クラスにを追加するPFPointerと、ローカル データストアからのクエリが正常に機能します。PFUser

または、上記の私のリンクの場合-クラスに to aクラスCommentがある場合、すべてが正常に機能します。PointerPost

于 2015-04-06T14:56:36.673 に答える
0

parse 1.7.5 にも同じ問題があります (リリース ノートには、このバグを修正したと記載されていますが、まだ機能していません)。

ピン留めオブジェクトごとにリレーションの個別のクエリを実行して動作させることができます (おそらく、すべてのオブジェクトで一度に行う方法がありますか?)。次に、リレーション クエリの結果を固定します。

その後、ローカル データストアからのクエリが正常に機能し始めます。

于 2015-06-28T09:41:59.730 に答える