2015-12-02 40 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