我有一个名为District的域名,我将仅输入地区名称,并且可以正常工作。我还有一个名为Thana的域,在该域中我需要使用区号作为外键,因为一个区下有许多thana。我想将thana名称和地区ID保存为thana表中的外键值。这就是为什么我要从组合addThana View 获取区域ID的原因。但是,当我给它赋值时,会给出错误。有人可以帮我吗?这是我的流程如下:
我的地区网域>>
class District {
String districtName
static constraints = {
}
static mapping = {
table('district')
version(false)
}
}
我的域名>
class Thana {
String thanaName
District district
static constraints = {
}
static mapping = {
table('thana')
version(false)
district column: 'district_id'
}
}
我的保存方法>>
def saveThana(){
println(params)
Thana thana = new Thana()
thana.district = params.districtId
thana.thanaName = params.thanaName
thana.save()
}
和错误消息>>
最佳答案
这是因为params.districtId是String,并且您将其分配给类型District的属性。
因此,您必须首先检索具有ID的District实例,您可以使用以下代码:
thana.district = District.get(params.districtId?.toLong())