我是初学者.
我有2个课程
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 = {
}
}
Run Code Online (Sandbox Code Playgroud)
地址属于员工..所以我给了 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])
}
}
Run Code Online (Sandbox Code Playgroud)
如何保存这个相关的模型?
在这里你有一对一的关系 - address向Employee类中添加一个属性.
class Employee {
String name
String department
Address address
public String toString() {
name
}
}
Run Code Online (Sandbox Code Playgroud)
改变你belongsTo的Address喜欢这个:
class Address {
String line1
String line2
static belongsTo = [employee: Employee]
}
Run Code Online (Sandbox Code Playgroud)
现在你可以创建一个Employee这样的:
def employeeInstance = new Employee(params)
employeeInstance.address = new Address(params)
if (employeeInstance.save(flush: true)) {
// your logic
}
Run Code Online (Sandbox Code Playgroud)
阅读文档(一对一关系)以获取更多信息.
| 归档时间: |
|
| 查看次数: |
1585 次 |
| 最近记录: |