Domain 类 中使用的 Grails createCriteria()

Grails createCriteria() used inside Domain classes

刚刚了解了 createCriteria() 方法的功能。只是想知道除了在控制器上应用它之外,还有什么方法可以应用到域 类 上吗?可能会自己映射到 属性,例如:

static mapping = {
      additionalInfo: Page.createCriteria().list()
}

Just wanna know that other than applying it on the Controller, is there a way to apply onto the domain classes as well?

条件查询不限于控制器,您可以使用与在控制器中相同的语法将它们应用于其他地方。但是,您展示的特定示例可能会出现问题,因为您正试图在用于配置 GORM 的 mapping 块中使用 GORM。

也许您可能只想根据 目标字段 创建一个新的 字段,如下例所示:

class myInfo {
    String additionalInfo
    String[] moreInfo  // a transient field

    getMoreInfo(){
        def myresultmap = createCriteria.list{
         // insert any other criteria shenanigans
        }
        return myresultmap
    }
    static transients = ['moreInfo']
}

在控制器中 return 与 class MyInfo 的域实例一样正常的视图 然后在视图中使用:

<g:each in="${domaininstancefromcontroller}">
${it.moreInfo[0]
</g:each>

参见 docs。 希望这有帮助。