我有两个域类:Car和Driver。我想制作一个gsp视图,在一个列表中显示汽车和驾驶员信息,该列表看起来或多或少是一个默认的脚手架列表。例如:将连接表呈现为Grails中的列表
Make Model Driver Age
------------------------
Chevy Nova Joe 20
Chevy Nova Mike 30
Chevy Nova Sally 40
这里的域类:
class Car {
String make
String model
static constraints = { }
static hasMany = [ drivers : Driver ]
static mapping = {
drivers joinTable: [name: 'Car_Driver', column: 'DRIVER_ID', key: 'CAR_ID']
}
}
class Driver {
String name
int age
static constraints = { }
}
打个车,并给它一些司机:
def car = new Car(make: 'Chevy', model: 'Nova')
def driver1 = new Driver(name: 'Joe', age: 20)
def driver2 = new Driver(name: 'Mike', age: 30)
def driver3 = new Driver(name: 'Sally', age: 40)
car.addToDrivers(driver1)
car.addToDrivers(driver2)
car.addToDrivers(driver3)
car.save()
什么我需要在我CarController做的和/或gsp视图使联接列表发生(并仍然与分页工作)?
是关系1:M还是M:M?这个例子并不清楚。 – 2011-06-02 10:06:20
这是1:M的关系。对不起,我没有说清楚。感谢帮助! – frgauthier 2011-06-02 13:49:45
你可能是指M:M--看起来像一个'Car'有很多'Driver's,'Driver'可以驱动很多'Car's - 这就是为什么连接表存在的原因。 – 2011-06-02 20:59:51