我希望这可能非常明显,但我找不到一个我认为能解决问题的例子。
我有一个我无法修改的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
}
答案 0 :(得分:0)
除了已经实施的test_scenario
课程外,您还需要创建一个映射TestExecQueue
表格的课程。
在TestExecQueue
类中,您将按类链接到场景,而不是整数字段:
class TestExecQueue {
static mapping = {
scenario column:'test_scenario_id'
}
TestScenario scenario
}
注意:这是映射关系的一个示例,您应该查看Domain Modeling section of the Grails Documentation以了解其他选项。
类的显示完全取决于您的控制器和视图,您需要更详细的说明才能清楚地回答。一种选择是在将要打印的类上设置public toString()
方法。