我是初学者。
我有一个2domain类
class Employee {
String name
String department
static constraints = {
}
public String toString() {
name
}
}
class Address {
String line1
String line2
Employee employee
static belongsTo = Employee
static constraints = {
}
}
其中Address属于Employee ..所以我给了belongsTo
关联。
我的Employee / create.gsp页面接受Employee和Address。
中指定的字段的输入所以在创建员工时,地址必须自动保存。
那么什么可以是EmployeeController中的保存操作
我尝试过这样的事情,但没有用。
def save = {
def employeeInstance = new Employee(params)
def addressInstance = new Address(params)
if (employeeInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'employee.label', default: 'Employee'), employeeInstance.id])}"
redirect(action: "show", id: employeeInstance.id)
}
else {
render(view: "create", model: [employeeInstance: employeeInstance])
}
}
如何保存此关联模型?
答案 0 :(得分:5)
这里有一对一的关系 - 向address
类添加Employee
属性。
class Employee {
String name
String department
Address address
public String toString() {
name
}
}
更改belongsTo
的{{1}},如下所示:
Address
现在你可以像这样创建一个class Address {
String line1
String line2
static belongsTo = [employee: Employee]
}
:
Employee
阅读docs (one-to-one relationship)了解更多信息。