说明:
- 对象存储在数据表中有两种方式:1、通过Pointer存单一对象。2、通过List<Object>存储多个对象。
- 查询也分为两种:1、查询一个列表中的对象。2、通过id查询某一条数据的对象。
下面是记录怎么读取这些对象中的数据。
注:LeanCloud通过AVQuery读取数据后里面的Pointer对象其实只有一个objectId,没有对象里面的数据。
查找:
1、查询一个列表中的对象
AVQuery<Student> query = AVObject.getQuery(Student.class);
query.include(Student.FAMILY_OBJECT);//查询学生表中的家庭对象
query.include(Student.FAMILY_OBJECT +"." + Family.DOG_OBJECT);//三级关联查询(先查询学生表中的家庭对象,在查询家庭对象中的狗对象)
query.findInBackground(new FindCallback<Student>() {
@Override
public void done(List<Student> listRes, AVException e) {
if (e == null) {
} else {
}
}
});
这样家庭对象中的属性都能查询出来了
2、通过id查询某一条数据的对象、事先知道这条数据的id
AVQuery<Student> query = AVObject.getQuery(Student.class);
query.include(Student.FAMILY_OBJECT);
query.getInBackground("id", new GetCallback<Student>() {
@Override
public void done(Student avObject, AVException e) {
}
});