0
試圖簡單地使用找到所有運行域對象的查詢,它不是作爲我希望:的Grails的findAll與像值
searchResults = Contact.findAll("from Contact as c where c.company=${params.company.id} and c.firstName = '%${nameSearch}%' or c.lastName = '%${nameSearch}%' ")
我想找到具有名字在公司內所有的人或姓氏與輸入的搜索類似(params.search存儲到nameSearch變量中)。如果我將第一個或最後一個值更改爲特定名稱「Tim」或「Johnson」,它就可以工作。
我對變量或「like」引用做了什麼不正確的操作?我認爲%符號基本上是搜索條件中的*符號?
我已經試過了2.0.0形式的搜索:
searchResults = Contact.findAll{
company == params.company.id
firstName == '%' + nameSearch + '%'
lastName == '%' + nameSearch + '%'
}
但是,這也不能工作。感謝您的所有幫助
感謝羅布 - 這正是我使用的。快速通過證明是我所需要的,但是我擔心我的域名條目很多。然而,有一件事我注意到並且無法弄清楚我的生活是如何處理兩個不同的場景?我用ilike(lastname)或ilike(firstName)創建了標準,但沒有運氣。只需一次比較就可以正常工作。 – user82302124 2012-02-27 20:54:45
沒關係 - 我很好。我使用基本的findBy與較不復雜的查詢。再次感謝Rob爲我介紹這個查詢代碼! – user82302124 2012-02-27 21:37:24