我需要創建一個自定義連接表來重新建模多對多映射,並在下面的一些偉大的帖子後面出現了下面的模型。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}按預期返回相關列表。 –