我想查询一个对象,而该对象又有一个属性,这是另一个对象,但如果它可以直接完成则不行。 我用这个函数:
public static RealmList<Action_DB> getActions(Realm realm, int id){
Holograma_DB holo = realm.where(Holograma_DB.class).equalTo("id",id).findFirst();
return realm.where(Action_DB.class).equalTo("holo",holo).findAll();
}
Action_DB类是:
public class Action_DB extends RealmObject{
@PrimaryKey
private int id;
private String a;
private Video_DB v;
private int ver;
private Holograma_DB holo;
...
}
作为回报,我得到语法错误,我不知道是不是因为我做得不好或做不好。
现在我有一个可能的解决方案,如果他们无法制作与Hologram对象相关的动作列表,但我想知道是否可以在查询中做所有事情。
答案 0 :(得分:5)
您不能使用对象查询equalTo,只能查询String,int,long等。有关完整列表,请参阅RealmQuery。
在您的情况下,您可以查询id
变量
holo
Holograma_DB holo = realm.where(Holograma_DB.class).equalTo("id",id).findFirst();
return realm.where(Action_DB.class).equalTo("holo.id", holo.getId()).findAll();