我有一个像这样的Project类:
class Project {
static hasMany = [ tasks : Tasks , users : User ]
static belongsTo = User
String name
String toString() {
this.name
}
}
class User {
static hasMany = [ project: Project ]
Profile profile
String username
String password
String toString() {
this.username
}
}
class Tasks {
static belongsTo = [ user : User, project: Project ]
boolean completed
String toString(){
this.title
}
}
User
将具有许多Project
,而Project
将具有许多Tasks
。Tasks
且属于completed
的Project
。例如,说有两个项目,即P1
和P2
。其中P1
具有4个完整的Tasks
和P2
具有1个完整的Tasks
。我的代码需要返回类似:[P1:[t1,t2,t3,t4],P2:[t5]]
Tasks
,它将返回如下:[t1,t2,t3,t4,t5]
Project
对其进行分组。最佳答案
您可以在集合上使用groupBy
:API或EXAMPLE
例如:
def completedTasks = Task.findAllByCompleted(true)
def compltedTasksByProject = compltedTasks.groupBy {it.project}
https://stackoverflow.com/questions/9605962/