2009-03-16 16 views
8

मैं grails एप्लिकेशन विकसित कर रहा हूं जो फ़ाइल खोज का उपयोग करता है। इसके लिए मैंने निम्नलिखित कोड लिखा था। यह कोड काम करता है और यह परिणाम संवेदनशील के साथ परिणाम देता है। लेकिन मैं बिना किसी संवेदनशील केस के फाइलों को खोजना चाहता हूं।Grails में केस असंवेदनशील खोज

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

क्या कोई इस पर सहायता प्रदान कर सकता है?

उत्तर

17

मैं

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

का उपयोग कर विश्वास करते हैं जिस तरह से आप case insensitive खोजें

करने के लिए
7

एक तरह से Grails 2.x में ऐसा करने के लिए होती हैं the eq node का उपयोग करके किया जाता है:

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

अजीब ... मुझे groovy.lang.MissingMethodException मिल रहा है: विधि का कोई हस्ताक्षर नहीं: eq() तर्क प्रकारों के लिए लागू होता है: (java.lang.String, java.lang.String, java.util.LinkedHashMap) यह Grails 2.5.0 में है। अंत में नक्शे के बिना, यह ठीक काम करता है। – Dustin

संबंधित मुद्दे