我的数据库中有一个名为'District'的表:
+----+---------+-------------+----------+------+------------------------------------------------+-----------+
| id | version | description | homepage | logo | name | region_id |
+----+---------+-------------+----------+------+------------------------------------------------+-----------+
所以,在我的控制器上我有:
def show = {
def districtInstance = District.get(params?.id)
println districtInstance
println params
if(!districtInstance){
flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'district.label', default: 'District'), params.id])}"
redirect(action : "list", params?.id)
}
else{
[districtInstance : districtInstance]
}
}
虽然我期待看到整行:
| 71 | 0 | bogus | | | bogus | 4 |
我只看到:
bogus
控制台上的。我怎样才能访问整行? (特别是districtInstance.region_id
?)
答案 0 :(得分:2)
println districtInstance
仅打印toString()
方法的输出。使用println districtInstance?.dump()
查看更多输出,包括所有类字段。但它看起来不像数据库视图,因为它是一个Groovy对象,而不是数据库查询结果。
基于问题更新:如果您需要region_id,可以通过districtInstance.regionId
获取,不需要额外的数据库调用。
答案 1 :(得分:1)
println districtInstance?.region.id
在Groovy和面向对象语言中,您可以 navegate 类属性,但您应该知道Law of Demeter