我有两个域类,Course 可以属于一个或多个训练,Track 可以属于一个或多个类(class)。
Class Track{
string name
static hasMany= [courses: Course]
}
Class Course{
String name
static belongsTo = [tracks: Track]
}
在类(class)中创建一个页面,我有字段
<g:select id="tracks" name="tracks.id" from="${com.springpeople.tms.Track.list()}" optionKey="id" value="${courseInstance?.tracks?.id}" class="many-to-one" noSelection="['null': '']"/>
但是轨迹当然不会被保存,我是否需要显式传递轨迹对象。有什么办法可以做到吗?
最佳答案
首先您需要保存 Track 类对象,然后才能保存 Course 类对象。
在您尝试保存类(class)对象的情况下,您将不会获得轨道 ID 为什么它会通过异常。
通过 save 方法保存轨迹类对象后。
之后使用 object.addToCourse(courseObject).save();用于保存。
关于grails - 如何在grails中保存多对多域对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11393666/