我需要创建一个自定义连接表来重新建模多对多映射,并在下面的一些伟大的帖子后面出现了下面的模型。Grails多对多连接表+额外列
现在我的问题是,如果我在GSP中有一个Course或Journey对象,如何访问属于连接表的额外列数据。
在这个例子中,我要访问一个名为extraColumn1领域的CourseJourneyDetail我GSP内,如果我有任何一段航程或路线实例
我已经试过如下:
$ {当然。 courseJourneyDetail.extraColumn1}
但它没有工作。
这里是(相关部分)我的域名类别:
class Course {
static hasMany = [journies: CourseJourneyDetail]
String courseName
String organisersDescription
Set<Journey> getJournies() {
return CourseJourneyDetail.findAllByCourse(this)*.journey
}
}
class Journey {
static hasMany = [courses: CourseJourneyDetail]
java.util.Date dateCreated
java.util.Date lastUpdated
boolean enabled = true
User user
Set<Course> getCourses() {
return CourseJourneyDetail.findAllByJourney(this)*.course
}
}
class CourseJourneyDetail implements Serializable {
String extraColumn1
static belongsTo = [course: Course, journey: Journey]
boolean equals(other) {
if (!(other instanceof CourseJourneyDetail)) {
return false
}
other.journey?.id == journey?.id &&
other.course?.id == course?.id
}
int hashCode() {
def builder = new HashCodeBuilder()
if (course) builder.append(course.id)
if (journey) builder.append(journey.id)
builder.toHashCode()
}
static constraints = {
}
static mapping = {
version false
id composite: ['course', 'journey']
}
}
在GSP中,$ {courses.journies}和$ {journey.courses}按预期返回相关列表。 –