在用户类中查询 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)?
Parse.com如何对包含的ParseObject进行排序和查询?