2017-04-24 69 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();