我有多对多的关系,但无法解决如何获得所需的结果。

Tutor {
    String name
    hasMany = [locations:Location]
}
Location {
    String name
    hasMany = [tutors:Tutor]
    belongsTo = Tutor
}

该数据库看起来很正确,包含一个教师,位置和tutor_location(tutor.id,location.id)表。

如何找到与导师相关的所有位置?

我试过创建条件,但不起作用。 Location.listAllByTutor(tutorid)也不起作用。

最佳答案

首先找到您的Tutor:

def tutor = Tutor.get(1)

然后访问locations:
def locations = tutor.locations

这默认为延迟初始化,因此当您访问locations列表时将执行第二个查询。

09-25 17:42