Realm-Android如何搜索包含某些对象的对象列表

时间:2016-06-10 09:14:34

标签: java android realm

我想查询一个对象,而该对象又有一个属性,这是另一个对象,但如果它可以直接完成则不行。 我用这个函数:

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对象相关的动作列表,但我想知道是否可以在查询中做所有事情。

1 个答案:

答案 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();