0
我有這些領域:Grails一對多addTo()不起作用?
class ChildPlacementFile{
.....
static hasMany = [children : Client]
static belongsTo = [father : Client, mother: Client]
Client child
...other fields etc.
}
class Client{
String firstName
String lastName
....etc etc.
}
我的客戶要求我允許的形式保存多。所以我創建了一個類似這樣的服務。
def saveChildren(ChildPlacementFile childPlacementFileInstance, params){
def childrenList = []
def errorList = []
params.rowId = [params.rowId].flatten()
params.child = [params.child].flatten()
params.rowId.eachWithIndex {child, i ->
Client childInstance = Client.get(params.child[i])
if(childInstance){
childrenList.add(childInstance)
childPlacementFileInstance?.addToChildren(childInstance).save()
}else{
errorList.add(childInstance)
}
}
[errors: errorList, children:childrenList]
}
當我嘗試檢查,在控制器上,孩子們似乎被保存在save()方法[childPlacementFileInstance.?children],但是當它重定向到show()方法,將[childPlacementFileInstance 。?孩子]不再出現,它是空的。爲什麼?? O_O
沒有錯誤,沒有例外是如此。所以我期望它能奏效,但事實並非如此。 :(
我曾嘗試調用failOnError:true,但它並沒有給我一個錯誤,這是它經歷的一系列方法:save() - > saveChildrenService()兒童似乎被保存 - >在控制器中重定向到show() &兒童沒有出現,它只是空的 – ShootingStar
我對孩子的唯一約束是:children(可爲空:真)我想孩子是可選的 – ShootingStar
我指的是Client對象的約束。也可能失敗,你沒有錯誤呃,所以我不知道。也許發佈您正在執行的完整代碼或將其上傳到某處,以便我可以檢查。 – topr