groovy - How do I group the results in Grails? -
i have project class :
class project { static hasmany = [ tasks : tasks , users : user ] static belongsto = user string name string tostring() { this.name } } user class :
class user { static hasmany = [ project: project ] profile profile string username string password string tostring() { this.username } } and tasks class :
class tasks { static belongsto = [ user : user, project: project ] boolean completed string tostring(){ this.title } } user having many project , project having many tasks.
now need way query db find, tasks completed , belongs project. example there 2 projects, p1 , p2. in p1 has 4 completed tasks , p2 has 1 completed tasks. code need return :
[p1:[t1,t2,t3,t4],p2:[t5]] i know easy find tasks completed, return :
[t1,t2,t3,t4,t5] but find difficult group them according project.
how can this?
thanks in advance.
you can use groupby on collection: api or example
for example:
def completedtasks = task.findallbycompleted(true) def compltedtasksbyproject = compltedtasks.groupby {it.project} should give want.
Comments
Post a Comment