【发布时间】:2014-10-03 09:55:31
【问题描述】:
我正在显示一个带有Userobjects 的表格。显示的信息是:
User.firstName
User.lastName
User.email
但使用 user.toString() 显示,导致以下输出:
Gordon, Tomas (gordon.tomas@company.com)
Hanks, Jessica (hanks.jessica@company.com)
我想在此列表上设置一个过滤器,以允许人们搜索特定用户。这些是要求:
1) 1 search field only
2) generic text input
目前我执行以下操作来更新列表,其中owner 是输入:
def user // input as string from the search field
def potentialUsers = User.withCriteria {
or {
ilike("firstName", '%' + user + '%')
ilike("lastName", '%' + user + '%')
ilike("email", '%' + user + '%')
}
}
当有only 1 word 输入时,这非常有效。
但我希望人们会这样搜索:
- '汤姆'
- '戈登·托马斯'
- 'jessica@company hanks'
- '托马斯·戈登'
- ...等等
在我看来,最好的解决方案是直接在toString() 中搜索,但我还没有弄清楚该怎么做..
关于如何正确过滤的任何想法?
【问题讨论】:
标签: java hibernate grails filter grails-orm