我使用
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()); } } });@H_403_3@所以categoryId列是指向其他表的指针.其他列工作正常.
我试图扫描API和指南,但找不到需要的解决方案.帮助将不胜感激!
解决方法
@H_403_10@ 这是解决这个问题的方法:首先,您需要从表的类型创建一个ParSEObject:
ParSEObject sale = ParSEObject.createParSEObject("Sale");@H_403_3@sale = result.getParSEObject(pointer_field);@H_403_3@现在你可以从销售任何一个领域,就像你通常会做的一样,例如:
sale.getString("some_field")@H_403_3@注意:
当您进行查询时,如果希望在返回查询后能够从中提取数据,则必须包含指针字段.结果:query.include("pointer_filed")@H_403_3@希望它有帮助