gpt4 book ai didi

Grails:领域类中的派生字段

转载 作者:行者123 更新时间:2023-12-02 15:14:03 26 4
gpt4 key购买 nike

假设我有一个域类 branch它有几个成员:


static hasMany = [ members:Member ];


现在假设我想让该分支的成员数量随时可用,并将其显示在 list 中。和 view行动,所以也许将该信息存储到域类本身的变量中是一个好主意?

Integer memberCount = members.size();
static constraints = {
memberCount(editable:false);
}


(这是正确的语法吗?) 编辑 : 这不是正确的语法。我无法评估成员列表的大小,因为它还不存在,而且 grails 会提示 size() 不适用于空对象。我还能尝试什么?

但是,作为 memberCount现在是域类中的一个变量,可以在创建 Branch 时为其赋值(这是违反直觉的)并且一旦新的 Member 将不会自动更新被添加。

当然可以以不同的方式达到预期的结果。我可以操纵 view.gsplist.gsp/Branch目录,添加一些额外的 <td>在那里等等。但这对我来说似乎不是很优雅。

基本上,我认为我正在寻找某种方法来告诉 grails 某个变量是 派生 , 不应由用户设置,而是在必要时更新。有没有这样的方法?

最佳答案

您可以添加任何您不希望保留到 transients 的属性。静态列表:

static transients = ['memberCount']

this page in the manual

另外, this StackOverflow question answers the same question

此外,执行派生属性的更好方法可能是使用 Derived Properties feature of GORM

关于Grails:领域类中的派生字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7566770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com