Как запросить значение столбца, заданного как указатель на другую таблицу в Parse

Я использую Parse для своего приложения. Я хочу запросить таблицу со столбцом, который задан как указатель на другую таблицу. Вот запрос:

ParseQuery query = new ParseQuery("CategoryAttribute"); query.whereEqualTo("categoryId", categoryId); query.findInBackground(new FindCallback() { @Override public void done(List<ParseObject> categoryAttributes, ParseException e) { if (e == null) { for (int i = 0; i < categoryAttributes.size(); i++){ String atributeCategoryId = categoryAttributes.get(i).getString("categoryId"); String attributeKey = categoryAttributes.get(i).getString("attributeKey"); String attributeValue = categoryAttributes.get(i).getString("attributeValue"); setCategoryAtributeRow(atributeCategoryId, attributeKey, attributeValue); } } else { Log.d("score", "Error: " + e.getMessage()); } } }); 

Поэтому столбец categoryId является указателем на другую таблицу. Другие столбцы работают нормально. Я попытался отсканировать API и руководства, но не смог найти нужное решение. Помощь будет очень признательна!

Вот решение этого: сначала вам нужно создать ParseObject из типа вашей таблицы:

 ParseObject sale = ParseObject.createParseObject("Sale"); 

То вам нужно получить ParseObject из результата:

 sale = result.getParseObject(pointer_field); 

Теперь вы можете вытащить из sale любое поле, которое оно имеет, как вы это делали, например:

 sale.getString("some_field") 

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

 query.include("pointer_filed") 

Надеюсь, поможет

@Akshat Agarwal, вот пример в JavaScript:

 var parseObj = Parse.Object.extend('parseObj'); new Parse.Query(parseObj) .include('pointerField') .find(function (data) { data.get('pointerField').get('fieldName'); }); 

Для iOS

  PFQuery *parseQuery = [PFQuery queryWithClassName:@"MyClass"]; [parseQuery whereKey:@"categoryId" equalTo:categoryId]; [parseQuery includeKey:@"pinter_field"]; [parseQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { // }];