不区分大小写的搜索

Don*_*onX 8 grails groovy frameworks hibernate

我正在开发使用文件搜索的grails应用程序.为此,我编写了以下代码.此代码有效,它以区分大小写的方式给出结果.但我想搜索不区分大小写的文件.

def criteria = FileDomain.createCriteria()
 def results = criteria {
    and {
      like('user', User.findById(session?.user))
      or {
        like('filename', '%' + params.fileSearchKey + '%')
        like('referenceFilename', '%' + params.fileSearchKey + '%')
         }
       }
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供帮助吗?

j p*_*mel 17

我相信使用

ilike('filename', "%${params.fileSearchKey}%")
ilike('referenceFilename', "%${params.fileSearchKey}%")
Run Code Online (Sandbox Code Playgroud)

是你打算不区分大小写搜索的方式


Eri*_*agt 7

在Grails 2.x中执行此操作的一种方法是使用eq节点:

eq("branch", "london", [ignoreCase: true])
Run Code Online (Sandbox Code Playgroud)

  • 奇怪...我正在获取groovy.lang.MissingMethodException:方法的无签名:eq()适用于参数类型:(java.lang.String,java.lang.String,java.util.LinkedHashMap) Grails 2.5.0。如果没有地图末尾,则可以正常运行。 (2认同)