2016-04-05 18 views
0

com.parse:parse-android:1.13.0の解析アンドロイドSDKを使用してクエリを実行しようとしています。私はローカルストレージ上でクエリを作成し、ParseQuery$whereMatchesQuery()メソッドを使用して、データベースにある別のクラスへのポインタを格納する列と一致させます。Android SDKを使用してポインタを使用してクエリできません

ParseQuery<PracticeSessionDetails> query = ParseQuery.getQuery(PracticeSessionDetails.class); 
query.fromLocalDatastore(); 
query.ignoreACLs(); 
query.whereEqualTo("user", ParseUser.getCurrentUser()); 

ParseQuery courseQuery = new ParseQuery("Course"); 
courseQuery.whereEqualTo("objectId",courseId); 
query.whereMatchesQuery("course", courseQuery); 

私はquery.getFirst()を使用してqueryを実行すると、私はローカルストレージから取得したものを得ることはありません。私が持っているコードは次のようです。私はすでにcourseQueryを別々に実行して確認しています。それは私に必要なオブジェクトCourseを取り込みます。これは既知の問題ですか?私はthis postの助けを借りてこの方法を進めました。

答えて

1

データベース内の別のクラスへのポインタを格納している間に、クエリを混合していると思います。問題を解決するには、次のコードを使用してください:

ParseQuery<PracticeSessionDetails> query = ParseQuery.getQuery(PracticeSessionDetails.class); 
    query.fromLocalDatastore(); 
    query.ignoreACLs(); 
    query.whereEqualTo("user", ParseUser.getCurrentUser()); 

    ParseQuery<ParseObject> courseQuery = ParseQuery.getQuery("Course"); 
    courseQuery.whereMatchesQuery("course", query); 
関連する問題