在Domain类中使用的Grails createCriteria()

时间:2017-11-13 10:16:45

标签: grails grails-domain-class grails-controller

刚开始了解createCriteria()方法的功能。只是想知道除了在Controller上应用它之外,还有一种方法可以应用到域类吗?可能是它自己映射到一个属性,如:

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

2 个答案:

答案 0 :(得分:0)

  

只是想知道除了在控制器上应用它之外,是   还有一种方法可以应用于域类吗?

条件查询不仅限于控制器,您可以使用与控制器中相同的语法将它们应用于其他位置。但是,您在此处显示的特定示例可能会出现问题,因为您尝试在用于配置GORM的mapping块内部使用GORM。

答案 1 :(得分:0)

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

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

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

在控制器中,使用MyInfo类的Domain实例返回正常视图 然后在视图中使用:

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

docs。 希望这会有所帮助。