我有两个域类
1)
package opfwflowmonitor
import java.io.Serializable;
class OpfWF_Entry implements Serializable{
String name
Date create_date
static hasOne=[siteName:OpfWF_SiteName, currentStepStatus:OpfWF_CurrentStepStatus,currentStepName:OpfWF_CurrentStepName]
static hasMany = [historySteps:OpfWF_HistoryStepsInfo]
static mapping = {
table name: "OS_WFENTRY", schema: "GSI"
version false
cache true
historySteps cache:true
sort id:"desc"
columns{
name column:'NAME'
create_date column:'CREATE_DATE'
}
}
}
和
package opfwflowmonitor
import java.util.Date;
class OpfWF_HistoryStepsInfo {
Long entry_id
Long action_id
Long step_id
Date start_date
Date finish_date
String status
static belongsTo = [historyEntry: OpfWF_Entry]
static mapping = {
table name: "OS_HISTORYSTEP", schema: "GSI"
version false
cache true
historyEntry cache: true
sort id:"desc"
id generators: 'assigned'
columns{
id column:'ID'
action_id column:'ACTION_ID'
step_id column:'STEP_ID'
start_date column:'START_DATE'
finish_date column:'FINISH_DATE'
status column:'STATUS'
// ENTRY_ID column:'ENTRY_ID'
}
historyEntry column:'entry_id'
historyEntry insertable:false
historyEntry updateable:false
}
String toString() { "$id" }
}
当我选择OpfWF_Entry时,如何显示所有属性的所有historystep的列表?
当用户点击OpfWF_Entry表的记录列表时,如何获取子列表(包含历史表的所有属性)。
答案 0 :(得分:0)
我不完全确定我是否理解你的问题。拥有OpfWF_Entry对象时,属性应该是可见的,但如果在您的情况下无法访问它,则可以创建一个方法来公开您想要的任何属性。
控制器:
def showAllHistorySteps = {
def opfwfEntry = OpfWF_Entry.findById(params.id)
def historySteps = opfwfEntry.historySteps
historySteps.each {
println "Step: ${it.toString()}"
}
return [historySteps:historySteps]
}
域:
class OpfWF_HistoryStepsInfo {
def getAllProperties() {
// code to return a list of properties you want
}
}
查看:
< g:each in="historySteps" > <br/>
< g:set var="listOfProps" value="${it.getAllProperties()"/> <br/>
// do what you want with listOfProps <br/>
< /g:each> <br/>
答案 1 :(得分:0)
好的 - 回答我的问题。我在这里如何解决它。
1)
从OpfWF_Entry的列表视图中,我调用了historyStepInfo-Controller的searchme操作(搜索我自己添加的操作)。
2)
在historyStepInfoController中 - 我添加了searchme动作 - 使用params.id(从opfEntry的列表视图传递)在所有匹配行的hisotryStepInfo域内找到
def opfWF_HistoryStepsInfoInstanceList = OpfWF_HistoryStepsInfo.findAllByEntry_id(params.id)
render(view:'list',model:[opfWF_HistoryStepsInfoInstanceList:opfWF_HistoryStepsInfoInstanceList,opfWF_HistoryStepsInfoInstanceTotal:opfWF_HistoryStepsInfoInstanceList.count()])
3)
添加了HistoryStepsInfoInstanceList以列出historyStepInfo“in”-varibale
我让所有孩子都与父母选择相关。
这项工作适用于一切。搜索,儿童名单等等。