【问题标题】:How to search RealmList field of RealmObject in a single query如何在单个查询中搜索 RealmObject 的 RealmList 字段
【发布时间】:2017-04-24 09:09:11
【问题描述】:

假设我有一堂课:

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 对象的“名称”字段搜索特定公司对象的“公司成员”列表?

例如,在 Company 123 的 CompanyMember 列表中搜索名称包含“abc”的所有 CompanyMember,并返回这些匹配的 CompanyMember 的列表。

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

【问题讨论】:

    标签: java android database realm


    【解决方案1】:

    是的,就像这样:

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

    【讨论】:

    • 是否可以使用 findAll() 我需要在 'CompanyMember' 中的某些属性上添加条件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多