我有这个域类,让我们说:
class Person {
String name
Integer age
//car data that needs to be shown and filled in views
//but not persisted in Person class
String model
String color
static afterInsert = {
def car = new Car(model: model, color: color)
car.save()
}
}
class Car {
String model
String color
}
我需要的是在我的Person
观看次数(create
和edit
)中显示Person
级内定义的模型和颜色属性,但这些属性并非如此;必须坚持这个班级。这些数据model
和color
必须使用Car
域类来保留,可能使用afterInsert
事件。换句话说,我需要使用来自另一个域类的视图来保存域类中的数据。
提前致谢。
答案 0 :(得分:1)
您可以对希望GORM忽略的属性使用transients,例如
class Person {
static transients = ['model', 'color']
String name
Integer age
//car data that needs to be shown and filled in views
//but not persisted in Person class
String model
String color
..
}
只是好奇,但是你有没有使用关联
的原因class Person {
..
static hasMany = [cars: Car]
}
class Car {
..
static belongsTo = [Person]
static hasMany = [drivers: Person]
}
..或作文
class Person {
Car car
}
或简单地与多个域绑定数据
//params passed to controller
/personCarController/save?person.name=John&age=30&car.model=honda&car.color=red
//in your controller
def person = new Person(params.person)
def car = new Car(params.car)