【发布时间】:2022-01-19 14:20:08
【问题描述】:
我有两个数据库表“学生”和“课程”。我想要一个一对一的关系,其中“学生”表中有“课程”表的外键。外键“course_id”出现在学生表中,但每当我尝试保存学生数据(填写表格后)时,数据不会被保存,也没有错误。我对 grails 很陌生。请指导我如何正确保存数据。
表结构符合要求,但数据未保存到数据库中。其他代码部分没有问题,因为当我删除两个表之间的关联时数据正在保存。
学生管理员
package com.grails
class studentController {
def save(Student student){
student.save()
}
}
学生领域类
class Student {
Course course
String firstName
String lastName
}
课程领域类
class Course{
String course_name
String duration
static hasOne = [student: Student]
//static belongsTo = [student: Student]
}
【问题讨论】:
-
您可以使用标志
failOnError调用save,例如student.save(failOnError: true). -
感谢您的回答,我将其与 try catch 块一起应用,发现存在阻止 save() 的验证错误。我修改了我的关联,现在它工作正常:)
标签: database model-view-controller grails groovy grails-orm