如何在Realm中获取父对象

ban*_*ard 3 java database android relational-database realm

参考领域doc

我有一些实体,例如:类别项目.
类别包含项目的RealmList,我可以通过调用此列表的getter来访问所有类别的项目. 但是如何通过类别的id 查询所有项目(它被注释为主键) 我正在通过Realm.createObjectFromJson()解析json,并且无法 提前为每个项目 Thanx 设置类别字段


Chr*_*ior 6

如果您Item与您之间没有任何链接,则您Category目前无法根据类别查询项目.您正在寻找的概念在我们的TODO上,被称为反向链接.您可以在此处关注进度:https://github.com/realm/realm-java/issues/607

当前的解决方法是在将链接复制到Realm后手动创建该链接:

realm.beginTransaction();
Category category = realm.createObjectFromJson(categoryJson);
for (Item item : category.getItems()) {
  item.setCategory(category);
}
realm.commitTransaction();

// Then you can do
realm.where(Item.class).equalTo("category.id", category.getId()).findAll();
Run Code Online (Sandbox Code Playgroud)