grails中的域类迭代
我在两个域类之间有以下关系:grails中的域类迭代,grails,groovy,iteration,Grails,Groovy,Iteration,我在两个域类之间有以下关系: class Emp { String name hasMany = [itemsell:Item, itembuy:Item] } class Item { String name } 我需要知道,对于给定的Emp(itemsell和itembuy),两个集合的共同点是什么;我如何进行这样的迭代 谢谢在其中一个集合上使用findAll方法。大概是这样的: def similarItems(itemsell, itembuy) { itemse
class Emp {
String name
hasMany = [itemsell:Item, itembuy:Item]
}
class Item {
String name
}
我需要知道,对于给定的Emp(itemsell和itembuy),两个集合的共同点是什么;我如何进行这样的迭代
谢谢在其中一个集合上使用findAll方法。大概是这样的:
def similarItems(itemsell, itembuy) {
itemsell.findAll{ sell -> itembuy.contains(sell) }
}
对其中一个集合使用findAll方法。大概是这样的:
def similarItems(itemsell, itembuy) {
itemsell.findAll{ sell -> itembuy.contains(sell) }
}
对Emp类进行以下更改
class Emp {
String name
hasMany = [itemsell:Item, itembuy:Item]
// Modifications
Collection<Item> getCommonItems() {
itemsell.intersect(itembuy)
}
static transients = [ 'commonItems' ]
}
class-Emp{
字符串名
hasMany=[itemsell:Item,itemsbuy:Item]
//修改
集合getCommonItems(){
itemsell.intersect(itemsbuy)
}
静态瞬变=['commonItems']
}
然后,您可以调用
emp.commonItems
以获取公共项目。您应该将commonItems
添加到瞬态
列表中,以便GORM了解这不是一个持久属性对Emp类进行这些更改
class Emp {
String name
hasMany = [itemsell:Item, itembuy:Item]
// Modifications
Collection<Item> getCommonItems() {
itemsell.intersect(itembuy)
}
static transients = [ 'commonItems' ]
}
class-Emp{
字符串名
hasMany=[itemsell:Item,itemsbuy:Item]
//修改
集合getCommonItems(){
itemsell.intersect(itemsbuy)
}
静态瞬变=['commonItems']
}
然后,您可以调用
emp.commonItems
以获取公共项目。您应该将commonItems
添加到瞬态
列表中,以便GORM了解这不是一个持久性属性不知道intersect。。爱死它了!我不知道什么是交集。。爱死它了!