2010-08-31 76 views
0

我有兩個域類之間的關係如下:域類迭代Grails中

class Emp { 
    String name 
    hasMany = [itemsell:Item, itembuy:Item] 
} 

class Item { 
    String name 
} 

,我需要知道哪些項目是共同的集合對於一個給定的Emp(itemsell和itembuy);我怎麼能做這樣的迭代?

謝謝

回答

4

進行這些更改EMP班

class Emp { 
    String name 
    hasMany = [itemsell:Item, itembuy:Item] 

    // Modifications 
    Collection<Item> getCommonItems() { 
     itemsell.intersect(itembuy) 
    }  

    static transients = [ 'commonItems' ] 
} 

然後可以調用emp.commonItems得到共同的項目。您應該添加commonItemstransients列表,以便了解格姆這不是一個持久的屬性

+0

不知道相交..愛在此! – 2010-09-01 14:41:14

+0

現在,這是優雅的......謝謝 – xain 2010-09-01 17:08:34

1

對其中一個集合使用findAll方法。事情是這樣的:

def similarItems(itemsell, itembuy) { 
    itemsell.findAll{ sell -> itembuy.contains(sell) } 
}