2016-07-29 4 views
0

私はFieldクラスを持っています。それはVenクラスの "Father"クラスへのポインタを持ち、VenueはLocationカラムを持っています。私は30マイル以内のフィールドしか持ちません。Parse whereWithinMiles関数のリレーショナルデータの使い方

query.whereWithinMiles("venueId.Location", userLocation, 30); 

私はミスがvenueId.Locationであることを確信している、しかし、私は私のポインタの位置の列の値を取得する方法がわかりません。

venueIdはポインタです。 場所は、私が比較したいポインタの列です。 userLocationはユーザーの現在の場所です。

読んでいただきありがとうございます。

答えて

2

ドット表記は、どこのクエリでサポートされていませんが、インクルードでのみサポートされています。 あなたがそれをしたい場合は、それは(あなたのクラスに応じて値を変更する)ことのようになるはず小文字あなたにそう** whereMatchesKeyInQuery **

でクエリを記述する必要があります。

ParseQuery query = new ParseQuery.getQuery("ParentClass"); // change the class name 
ParseGeoPoint point = new ParseGeoPoint(40.712784,-74.005941); // put your location here 
query.whereWithinMiles("location",point,30); 

ParseQuery venueQuery = new ParseQuery.getQuery("SubClass"); // change the class name 
venueQuery.whereMatchesKeyInQuery("venueId","objectId",query); 
venueQuery.findInBackground(new FindCallback() { 
    @Override 
    public void done(List objects, ParseException e) { 

    } 

    @Override 
    public void done(Object o, Throwable throwable) { 

    } 
}); 
関連する問題