【发布时间】:2011-09-27 09:16:51
【问题描述】:
假设我有一个域类branch,它有几个成员:
…
static hasMany = [ members:Member ];
…
现在假设我想让该分支的成员数量随时可用,使其显示在list 和view 操作中,因此也许将该信息存储到域类本身的变量中将是好主意?
…
Integer memberCount = members.size();
static constraints = {
memberCount(editable:false);
}
…
(这是正确的语法吗?) 编辑:这不是正确的语法。我无法评估成员列表的大小,因为它还不存在,而且 grails 会抱怨 size() 不适用于空对象。我还能尝试什么?
但是,由于memberCount 现在是域类中的一个变量,因此可以在创建Branch 时为其分配一个值(这是违反直觉的),并且它不会自动更新一次添加了新的Member。
当然可以以不同的方式达到预期的结果。我可以在/Branch 目录中操作view.gsp 和list.gsp,在那里添加一些额外的<td>s 等等。但这对我来说似乎不是很优雅。
基本上,我认为我正在寻找某种方法来告诉 grails 某个变量是派生的,不应由用户设置,而是随时更新必要的。有没有这样的方法?
【问题讨论】:
标签: grails grails-orm derived