如何使用域类实例进行搜索?

时间:2014-08-01 09:59:34

标签: grails grails-searchable searchable-plugin

我有一个域类用户,其中包含所有实例,例如

[User : 1, User: 2, User : 3, User:4, User: 5, User: 6, User: 7, ...]

和一个实例列表 userInstanceList ,只有几个对象,比如说

[User : 3, User:4]

我的搜索字词位于 User:4 以及 User 中的其他一些对象中。当我使用

搜索时
User.search(userInstanceList, searchTerm)

它使用 searchTerm 返回用户中的所有对象。如何仅在 userInstanceList

中搜索对象

1 个答案:

答案 0 :(得分:1)

如果要将搜索限制为仅限于userInstanceList中的内容,则应该能够在搜索时使用in子句。

User.findAll { 
   searchTerm && id in userInstanceList*.id
}

User.withCriteria {
    searchTerm
    inList id, userInstanceList*.id
}