2013-03-20 58 views
10

我正在使用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和指南,但找不到所需的解决方案。帮助将非常感谢!

+0

你有没有发现这个任何解决方案 – 2013-06-06 03:55:58

回答

13

这里是解决这一之一: 首先你需要从表的类型创建的parseObject:

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

那么你需要从结果得到的parseObject:

sale = result.getParseObject(pointer_field); 

现在您可以从sale中提取任何与正常情况相同的字段,例如:

sale.getString("some_field") 

注意: 当您正在进行查询时,如果您希望能够在返回查询后能够从中提取数据,则必须包含指针字段。其结果是:

query.include("pointer_filed") 

希望它可以帮助

+1

@Jaffar Raza这里是答案 – vlio20 2013-06-06 06:16:50

+0

你可以给一个关于如何使用JavaScript做到这一点的提示吗? – 2013-11-04 17:05:50

+0

@AkshatAgarwal,对不起,我不知道如何在JavaScript中做到这一点。但我相信它非常相似。 – vlio20 2014-02-27 21:25:40

4

@Akshat阿加瓦尔,这里是一个JavaScript例如:

var parseObj = Parse.Object.extend('parseObj'); 

new Parse.Query(parseObj) 
    .include('pointerField') 
    .find(function (data) { 
    data.get('pointerField').get('fieldName'); 
    }); 
0

对于iOS

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

swift呢? – sirvon 2016-01-27 19:05:07

相关问题