我有一个客户列表,每个客户都有一个或多个场地。
这是两个独立的Domain类,其中Venue具有客户端ID
我想创建一个多值MAP,其客户名称为Key,Venue名称为值
示例:
def dataMap=["Client1":["Venue1","Venue2","Venue3"],"Client2":["Venue1","Venue2"]]
域类:客户
class Client {
String name;
static hasMany = [venues: Venue];
}
域类:地点
class Venue {
String name;
String addressLine1;
String addressLine2;
String City
static belongsTo = [client: Client];
}
答案 0 :(得分:2)
与aiolos相同,使用标准的Groovy方法collectEntries()
:
def dataMap = Client.findAllWhere(/*yourCondition*/).collectEntries { client ->
[(client.name): client.venues.name]
}
答案 1 :(得分:0)
你以前尝试过什么,你在哪里停留?
这是一个简单的方法:
def dataMap = [:]
Client.findAllWhere(/*yourCondition*/).each { client ->
dataMap[client.name] = client.venues.name
}