Grails 标准 groupby 对象

发布于 2024-12-08 08:30:06 字数 586 浏览 0 评论 0原文

按区域名称分组的示例:

def result = User.createCriteria().list{

     projections {
          roles  {
               zones{
                    groupProperty("name")
               }
          }
     }
}

但假设我想获取“id”或其他属性。事实上,我想要代表组的对象,而不是字符串“name”。

result.each{ println it.customFuncion() }

“区域”是一个 hasMany 属性,然后我无法自行分组。应该做什么,但不起作用:

def result = User.createCriteria().list{

     projections {
          roles  {
               groupProperty("zones")
          }
     }    
}

这可能吗?谢谢你们!

Example grouping by name of the zones:

def result = User.createCriteria().list{

     projections {
          roles  {
               zones{
                    groupProperty("name")
               }
          }
     }
}

but suppose I want to get the "id" or other attributes. the fact is that i want the object on the representing the group and not the string "name".

result.each{ println it.customFuncion() }

"zones" is a hasMany attribute and then i cant group by itself. What should be done, but doesnt works:

def result = User.createCriteria().list{

     projections {
          roles  {
               groupProperty("zones")
          }
     }    
}

Is that possible? Thank you guys!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

掩饰不了的爱 2024-12-15 08:30:06

使用 hql 进行复杂查询:

def result = User.executeQuery("select u.id, zone.name from User as u inner join u.roles as role inner join role.zones as zone group by u.id, zone.name")

然后您可以按如下方式访问结果列:

result.each { row -> row[0] // u.id } // or access via defined column name

想象一下,我不知道您真正的 hasMany 集合名称。

use hql for complex queries:

def result = User.executeQuery("select u.id, zone.name from User as u inner join u.roles as role inner join role.zones as zone group by u.id, zone.name")

Then you can access the result columns as follows:

result.each { row -> row[0] // u.id } // or access via defined column name

Imagine that i do not know your real hasMany collection names.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文