我在ParseUser类中创建了新列,新列是其他类的指针。
我想从ParseUser类中获取该新列的数据。
例如
表城市
的ObjectID
的cityName
表用户(ParseUser)
的userName
密码
cityId poniter City
所以,当我成功登录时,它会给我ParseUser对象,所以我希望得到cityId
答案 0 :(得分:0)
您必须在查询中包含该指针,然后指针列详细信息将包含在查询结果中。试试这样:
ParseQuery<ParseUser> userQueryu=ParseUser.getQuery();
userQueryu.include("cityId"); // Pointer to City class
userQueryu.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> userList, ParseException e) {
if(e==null){
//Retrieve user data
if(userList.size()>0){
for (ParseUser user : userList) {
String username=user.getString("userName");
String password=user.getString("password");
if(user.getParseObject("cityId")!=null){
String cityName=user.getParseObject("cityId").getString("cityName");
String cityObjectId=user.getParseObject("cityId").getObjectId();
}
}
}else{
// Handle the exception
}
}
});
答案 1 :(得分:0)
试试这样。见Relational Queries
ParseQuery<ParseObject> innerQuery = ParseQuery.getQuery("City");
innerQuery.whereEqualTo("objIdCity","valueObjId"); //pass value of objecId of City Object
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereMatchesQuery("pointerCityColumnName", innerQuery);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> objectList, ParseException e) {
if(e == null){
}else{
Log.e("Object", e.getMessage());
}
}
});
答案 2 :(得分:0)
经过几个小时的努力,我找到了解决方案,如下所述
@Override
public void done(ParseUser user, ParseException e)
{
user.getParseObject("cityId").getObjectId();
// to get cityid from parse user table
}