我是 Groovy nd Grails 的新手。我不知道如何将外键保存到子表中。我有两个名为 Person 和 Telephone 的域类。我试图保存但它不起作用。请帮助我。
Person.groovy
class Person {
String name
String password
static constraints = {
name(blank:false)
password(blank:false)
}
static hasMany = [telephone:Telephone]
@Override
public String toString() {
// TODO Auto-generated method stub
name
}
}
电话.groovy
class Telephone {
String number
Person person
static constraints = {
number(blank:false)
person()
}
static belongsTo = [person:Person]
@Override
public String toString() {
// TODO Auto-generated method stub
number
}
}
存储在会话变量中的登录人员 ID。
session.setAttribute("user_id")
然后我试图保存号码。
TelephoneController.groovy
class TelephoneController {
def index() {
redirect(action:'create')
}
def create(){
}
def save(){
def number=new Telephone(params)
int user_id=Integer.parseInt(session.getAttribute("user_id").toString())
params.person=user_id
if(!number.hasErrors() && number.save()){
println "save"
flash.toUser="Person Details [${number.number}] has been added."
redirect(view:'create')
}
}
}
但它不起作用。请帮助我。