这是,我希望,可能很明显,但我找不到一个我认为可以解决我的问题的示例。Grails使用主键和外键显示两个表中的值
我有一个SQL数据库,我不能修改,它内有两个表,与主/外键链接(分别是test_scenario和test_exec_queue,所以test_scenario中的PK值可以在test_exec_queue中多次显示),当我显示屏幕上的数据我希望它,而不是显示来自test_exec_queue的FK值我希望它使用它从test_scenario表中获取testScenarioName并显示它。
到目前为止,我的课程看起来像这样,但是我不知道要做什么来完成上述逻辑,还是要在其他地方做这个?在控制器中?任何帮助表示赞赏
class TestExecQueue {
static constraints = {
testscenarioid(blank:false, editable:false)
myPriority(inList:[0,1,2,3,4], blank:false)
myState(inList:["READY"], blank:false)
}
static mapping = {
table "test_exec_queue"
version false
columns{
id column:"test_exec_queue_id"
testscenarioid column:"test_scenario_id"
myPriority column:"Priority"
myState column:"State"
}
}
Integer testscenarioid
Integer myPriority
String myState
}
谢谢。为了显示的目的,我希望它做的是从test_exec_queue表中获取test_scenario_id值,转到test_scenario表并查找等效的test_scenario_id,获取testScenarioName值并显示该值而不是值(即不是显示test_scenario_id值) 2存储在test_exec_queue表中,我希望它显示“test 001”,它是test_scenario表中存储的testScenarioName值,它具有匹配的test_scenario_id值,两个表都有一个名为test_scenario_id的字段)。 – MorkPork 2013-03-15 16:47:52
因此,我已经添加了上面建议的东西,并且有些东西可以工作,但是我的视图现在显示“myframework.TestScenario:1”而不是实际值,任何想法? :/ – MorkPork 2013-03-15 22:22:41
这是GORM域类的默认'toString()'实现。在'TestScenario'中覆盖它以显示所需的名称字段。 – codelark 2013-03-15 22:24:15