gpt4 book ai didi

grails - GORM 基本无法理解的问题

转载 作者:行者123 更新时间:2023-12-02 15:49:07 25 4
gpt4 key购买 nike

我试图了解 GORM 是如何工作的。
为具有建筑物和建筑部件(伟大建筑的区域)的项目建立数据库并不像我想要的那样工作。我想要的是:每个项目都有一栋建筑和该建筑的建筑部分之一。

我是这样尝试的:

class Project {
String name
static hasOne = [building: Building]
Buildingpart buildingpart
String toString(){
return name
}
}

class Building {
String name
static hasMany = [projects: Project, buildingparts: Buildingpart]
String toString(){
return name
}
}

class Buildingpart {
String buildingpart
static belongsTo = [building: Building]
String toString(){
return buildingpart
}
}

这样做会为我提供每个建筑部分的下拉菜单,而不仅仅是选择建筑中的那些。
我很乐意提出任何建议。

最佳答案

设计看起来不错
您可能需要在 Building 中添加一个额外的钩子(Hook)。类的东西

Buildingpart getCurrentPart(Buildingpart buildingPart) {
return this.buildingparts.find{buildingPart}
}

然后
Project project = project.get(id)



println "project building = ${project.building}"
println "project buildingparts = ${project.building.buildingparts}"
println "project currentpart = ${project.building.getCurrentPart(project.buildingpart)}"

当你说你的选择框时,这对我来说毫无意义,因为对我们来说,我们不知道这一切意味着什么你的项目类中还有一个注释,它被称为:
Bauteil buildingpart
那么你有很多 buildingparts: Buildingpart]
您需要注意的是 println 中发生的绑定(bind),如下所示:

然后,当您从项目中查询对象的构建许多部分时
project.building.getCurrentPart(project.buildingpart)

关于grails - GORM 基本无法理解的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42557017/

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