2014-06-07 80 views
1

我有三个对象:的Grails GORM搜索匹配另一个列表列表项

老师, 儿童,家长

Teacher.students是儿童的对象列表

Parent.children是也是子对象列表

我想找到所有教授某位家长孩子的教师。

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

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

回答

1

你只抓住第一个ID;您需要使用所有儿童的身份证,您可以使用传播(*)运营商获得。此外,根据docs,方法是in,对于标准不inList,但它的可能,我可能会丢失一些关于版本等:

in("id", parent.children*.id) 
相关问题