У меня есть класс 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
.
Как я могу это сделать?
Заранее спасибо.