gpt4 book ai didi

grails - 如何在 Grails 中保存关联对象?

转载 作者:行者123 更新时间:2023-12-01 11:51:29 24 4
gpt4 key购买 nike

我是 Grails 初学者。

我有一个 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])
}
}

如何保存这个关联模型?

最佳答案

这里有一个一对一的关系——向 Employee 类添加一个 address 属性。

class Employee {
String name
String department
Address address

public String toString() {
name
}
}

像这样更改 AddressbelongsTo:

class Address {
String line1
String line2

static belongsTo = [employee: Employee]
}

现在您可以像这样创建一个Employee:

def employeeInstance = new Employee(params)
employeeInstance.address = new Address(params)
if (employeeInstance.save(flush: true)) {
// your logic
}

阅读docs (one-to-one relationship)了解更多信息。

关于grails - 如何在 Grails 中保存关联对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com