2017-04-24 78 views
0

说RealmObject的RealmList领域有一个类:我如何搜索在单个查询

public class Company extends RealmObject { 

    private String companyId; 
    private RealmList<CompanyMember> companyMembers; 

} 

所在类别CompanyMember样子:

public class CompanyMember extends RealmObject { 

    private String id; 
    private String name; 

} 

是否有可能,使用单个查询领域,根据CompanyMember对象的'name'字段搜索特定Company对象的'companyMembers'列表?

例如,搜索公司123的CompanyMember列表中所有CompanyMember的名称包含'abc',并返回这些匹配的CompanyMembers的列表。

目前我正在从Realm中检索整个公司,并反复搜索匹配成员列表,但这似乎不是最好的方法。

回答

2

是的,就像这样:

Company company = realm.where(Company.class).equalTo("companyId", "123").findFirst(); 
RealmList<CompanyMember> companyMembers = company.getCompanyMembers(); 
RealmResults<CompanyMember> filteredMembers = companyMembers.where().contains("name", "abc").findAll();