Grails GORM搜索与另一个列表匹配的列表项

时间:2014-06-07 23:28:30

标签: grails groovy gorm

我有三个对象:

教师, 儿童, 父

Teacher.students是一个子对象列表

Parent.children也是一个子对象列表

我想找到教授某位父母子女的所有教师。

我试过这个,但它只找到一个孩子的老师。如果父母有多个孩子,我需要这个。

def teachers = Teacher.withCriteria{ 
    students { 
        inList("id", parent.children.first().id ) 
    } 
}

1 个答案:

答案 0 :(得分:1)

你只抓住第一个身份证;你需要使用所有孩子的id,你可以使用spread(*)运算符。此外,根据docs,该方法为in,而不是inList标准,但我可能会遗漏某些版本等信息:

in("id", parent.children*.id)