在用户类中查询 ParseObject(Pointer)

Posted

技术标签:

【中文标题】在用户类中查询 ParseObject(Pointer)【英文标题】:Query a ParseObject(Pointer) in User Class 【发布时间】:2019-05-22 18:16:25 【问题描述】:

您好,我在查询中遇到了一些问题。我在 _User 类中创建了一个名为“Empresa”的指针。我知道这个指针是一个 ParseObject。所以我这样做了,我尝试用两种方式来做......

private void queryEmpresa()
    ParseQuery<ParseObject> query = ParseQuery.getQuery("_User");
    query.whereEqualTo("objectId", ParseUser.getCurrentUser().getObjectId);
    query.include("Empresa");
    query.findInBackground(new FindCallback<ParseObject>() 
        @Override
        public void done(List<ParseObject> objects, ParseException e) 
            for (ParseObject obj:objects
                 ) 

                empresa=obj.getParseObject("Empresa");
                String id=empresa.getObjectId();

            

        
    );

还有……

 private void queryEmpresa()
    ParseQuery<ParseUser> query = ParseUser.getQuery();
    query.whereEqualTo("objectId", ParseUser.getCurrentUser().getObjectId());
    query.include("Empresa");
    query.findInBackground(new FindCallback<ParseUser>() 
        @Override
        public void done(List<ParseUser> objects, ParseException e) 
            for (ParseUser obj:objects
                 ) 
                empresa=obj.getParseObject("Empresa");
                String id=empresa.getObjectId();
            

        
    );



告诉我哪个是正确的代码以及我需要修改什么才能工作。您能否向我解释一下为什么这不起作用,以便我在不久的将来不会遇到这个问题?

【问题讨论】:

【参考方案1】:

试试这个并检查你是否从服务器收到一些错误:

ParseQuery<ParseUser> query = ParseUser.getQuery();
query.include("Empresa");
query.getInBackground(ParseUser.getCurrentUser().getObjectId(), new GetCallback<ParseObject>() 
  public void done(ParseObject object, ParseException e) 
    if (e == null) 
      // object will be your user and you should be able to retrieve Empresa like this
      empresa = object.getParseObject("Empresa");
     else 
      // something went wrong. It would be good to log.
    
  
);

【讨论】:

它应该可以工作。能否请您更新代码,以便我检查有什么问题?请同时发送您的完整错误消息。

以上是关于在用户类中查询 ParseObject(Pointer)的主要内容,如果未能解决你的问题,请参考以下文章

关于如何在 android 的安装类中使用 Rest API(service) 传递 ParseObject(Object)?

扩展 ParseObject 并拥有通用查询工厂的正确方法

无法创建指向未保存 ParseObject 的指针

Parse.com如何对包含的ParseObject进行排序和查询?

Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息

ParseObject 值即使在活动被破坏后仍然存在