2009-03-16 31 views
8

Estoy desarrollando una aplicación de grillas que utiliza la búsqueda de archivos. Para eso escribí el siguiente código. Este código funciona y proporciona los resultados con mayúsculas y minúsculas. Pero quiero buscar archivos sin distinguir entre mayúsculas y minúsculas.Búsqueda insensible a mayúsculas y minúsculas en grails

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

¿Alguien puede ayudarme con esto?

Respuesta

17

Creo usando

ilike('filename', "%${params.fileSearchKey}%") 
ilike('referenceFilename', "%${params.fileSearchKey}%") 

es la forma en que están destinados a hacer búsquedas case insensitive

7

Una forma de hacer esto en Grails 2.x es mediante el uso the eq node:

eq("branch", "london", [ignoreCase: true]) 
+1

extraño ... Obtengo groovy.lang.MissingMethodException: sin firma de método: eq() es aplicable para tipos de argumentos: (java.lang.String, java.lang.String, java.util.LinkedHashMap) Esto está en Grails 2.5.0. Sin el mapa al final, funciona bien. – Dustin

Cuestiones relacionadas