如何查询设置为Parse中其他表的指针的列值

我正在使用parsing我的应用程序。 我想要查询一个列设置为一个指向其他表的列表。 这是查询:

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和指南,但找不到所需的解决scheme。 帮助将不胜感激!

Solutions Collecting From Web of "如何查询设置为Parse中其他表的指针的列值"

下面是这个解决scheme:首先你需要从你的表的types创build一个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) { // }];