I have a Project class like this :
class Project {
static hasMany = [ tasks : Tasks , users : User ]
static belongsTo = User
String name
String toString() {
this.name
}
}
User class like this :
class User {
static hasMany = [ project: Project ]
Profile profile
String username
String password
String toString() {
this.username
}
}
And Tasks class like this :
class Tasks {
static belongsTo = [ user : User, project: Project ]
boolean completed
String toString(){
this.title
}
}
User will be having many Project and Project will be having many Tasks.
Now I need a way to query the DB to find, all the Tasks that are completed and that belongs to a Project. That is for example say that there are two projects, say P1 and P2. In which P1 has 4 completed Tasks and P2 has 1 completed Tasks. My code need to return something like :
[P1:[t1,t2,t3,t4],P2:[t5]]
I know its easy to find all the Tasks that are completed, which will return like this :
[t1,t2,t3,t4,t5]
But I find it difficult to group them according to their Project.
How can I do this?
Thanks in advance.
You can use the
groupByon Collection: API or EXAMPLEFor example:
Should give you what you want.