2015-12-02 66 views
0

内部元件的子集有一个结构:境界。获得基于外一个

{ "groups": [ 
    { "gid" : 1, 
     "elements" : [ 
       { "eid" : 1 }, 
       { "eid" : 2 } 
     ] 
    }, 
    { "gid" : 2, 
     "elements" : [ 
       { "eid" : 11 }, 
       { "eid" : 22 } 
     ] 
    } 
    { "gid" : 3, 
     "elements" : [ 
       { "eid" : 21 }, 
       { "eid" : 32 } 
     ] 
    } 
    ] 
} 

我明白如何让所有群体:

RealmResults<Group> all = realm.where(Group.class).findAll(); 

而且我可以得到一组中的所有元素或所有元素。

但是,我怎么能从id> 1的组中查询所有元素?

RealmResults<Group> allFilteredGroups = realm.where(Group.class).greaterThan("gid", 1).findAll(); 

是否有可能通过一个查询retrive从所有allFilteredGroups所有元素,像水木清华

realm.where(Element.class).equalsTo(???, allFilteredGroups).findall() ? 

回答

0

我不太清楚你所说的“检索的所有元素”的意思。 allFilteredGroups拥有所有的Group对象。当他们被链接到Elements对象,你可以通过它们轻松地重复:

for(Group group : allFilteredGroups) { 
    for(Element element : group.getElement()) { 
     Log.d("TEST", "eid = " + element.eid); 
    } 
} 

目前扁平化的末日,都在一个单一的RealmResultsElement对象没有简单的方法。

+0

是否有可能找到在所有FilteregGroups中有多少个元素? Smth like allFilteredGroups.smth()。sum(“elements.size”)?或者我只能遍历所有的集合并自己总结它? – dilix

+0

你将不得不迭代。 – geisshirt