grails - 如何在grails中保存多对多域对象

标签 grails grails-2.0

我有两个域类,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/

相关文章:

grails - Grails转发参数列表

grails - Grails Spock无法为模拟类创建对象

json - 将 grails 域对象转换为 JSON 并对其进行操作

注销后 Grails Spring 安全重定向

Grails 数据绑定(bind)日期格式

Grails 2.3 - 新示例项目不工作

Grails 3.3.8 - 如何从服务获取 session

javascript - 在同一页面加载的 javaScript 文件中使用 gsp 布局声明变量

html - 将 CSS 编译成 HTML 作为 Grails 中的内联样式?

grails - 在Groovy Source文件夹中使用Grails 3服务的最佳方法是什么?