如何在grails中使用ilike和Integer

use*_*291 9 grails groovy

我使用EasyGrid插件,必须找到像'%001%'这样的整数字段的值

initialCriteria {
    ilike('id', "%"+params.id+"%")
}
Run Code Online (Sandbox Code Playgroud)

但是ilike不适用于Integer.怎么做?

我试着这样做:

    initialCriteria {
        ilike('id'.toString(), "%"+params.id+"%")
    }

    initialCriteria {
        ilike('str(id)', "%"+params.id+"%")
    }
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

tim*_*tes 5

如果id是数据库中的整数,则ilike没有多大意义,并且可能有更好的方法来执行您要执行的操作(例如向域对象添加类型字段或其他内容,并按类型过滤)

但是,您应该能够执行以下操作(未经测试):

initialCriteria {
    sqlRestriction "cast( id AS char( 256 ) ) like '%001%'"
}
Run Code Online (Sandbox Code Playgroud)