Grails / GORM withCriteria搜索toString()

塞巴斯蒂安·弗吕基格(SebastianFlückiger)

我正在显示带有User对象的表显示的信息是:

User.firstName
User.lastName
User.email

但是使用会显示user.toString()以下结果:

Gordon, Tomas ([email protected])
Hanks, Jessica ([email protected])

我希望在此列表上有一个过滤器,以允许人们搜索特定用户。这些是要求:

1) 1 search field only
2) generic text input

目前,我正在执行以下操作以更新列表,wherasowner是输入:

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'
  • 托马斯·戈登(tomas gordon)
  • ... 等等

在我看来,最好的解决方案是直接搜索,toString()但我还不知道该怎么做。

关于如何正确过滤的任何想法?

注入

基本上,您在这里有2个选择:快速执行或正确执行。

快速)将一个字段添加到您的域类中,以包含要搜索的字段值(例如)的串联User.concatenated = 'Gordon Tomas [email protected]'那么您可以像这样触发搜索:

def potentialUsers = User.withCriteria {
  user.split( /\s+/ ).each{  
    ilike 'concatenated', '%' + it + '%'
  }
}

正确)使用LuceneLucene基于的适当的全文本搜索框架(例如hibernate-searchgrails search pluginelastic search为字段建立索引),因此您可以触发复杂的多字查询

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Grails:筛选gorm查询

来自分类Dev

grails gorm空字段

来自分类Dev

Grails Gorm查询限制

来自分类Dev

Grails读取GORM映射

来自分类Dev

GORM / Grails中的家谱模型?

来自分类Dev

Grails GORM继承最佳实践

来自分类Dev

Grails GORM上的单亲关系

来自分类Dev

Grails GORM搜索与另一个列表匹配的列表项

来自分类Dev

Grails + GORM:GORM中默认的equals()实现是什么?

来自分类Dev

Grails + GORM:GORM中默认的equals()实现是什么?

来自分类Dev

Filtering GORM objects based on attribute grails

来自分类Dev

带有标准别名的Grails GORM

来自分类Dev

Grails,GORM,关系。可选的子记录

来自分类Dev

在Grails / Gorm中索引外键

来自分类Dev

没有调用Grails GORM beforeUpdate方法

来自分类Dev

Grails Gorm捕获外键约束错误

来自分类Dev

根据属性grails过滤GORM对象

来自分类Dev

Grails GORM:更改外键列名称

来自分类Dev

如何在Grails GORM中强制冲洗

来自分类Dev

在Grails(GORM)中,如何覆盖约束名称

来自分类Dev

NoClassDefFoundError:org / grails / compiler / gorm / GormEntityTransformation

来自分类Dev

在Grails / Gorm中索引外键

来自分类Dev

Grails Gorm捕获外键约束错误

来自分类Dev

Grails GORM-在父母之前救助孩子

来自分类Dev

如何应对Grails / GORM中破裂的关系?

来自分类Dev

使用Grails / GORM清除并恢复灯具数据

来自分类Dev

如何更改默认的Grails / GORM查找?

来自分类Dev

对空关联使用Grails GORM准则

来自分类Dev

Grails GORM绑定字段两次