搜索并获取包含有价值儿童的所有父母

时间:2013-12-09 13:46:48

标签: grails groovy

class Client {
    String name
    static hasMany = [courses:Course]
}

class Course {
    String name
    static belongsTo = [client:Client]
}

我有这个,我想让所有客户 名称 =“blabla”

我试图这样做:Clients.findWhere(Course.any {course - > course.name =“math”})

2 个答案:

答案 0 :(得分:2)

您可以使用条件执行此操作:

Client.withCriteria {
  courses {
    eq('name', 'math')
  }
}

我相信以下查询等同于上述标准:

Client.where { courses.name == 'math' }

或者你可能会发现你需要另一个关闭:

Client.where {
  courses {
    name == 'math'
  }
}

但我很少使用自己的查询,所以我不是百分之百确定。

答案 1 :(得分:1)

可能有很多不同的句法表达来实现同样的目的。我可以肯定地说,这在我的项目中有效。

def ls = Client.list {
    courses {
        eq('name','math')
    }
}