我正在尝试使用链式命名查询获取pagedResultList,但我似乎失败了。 关于如何实现这一目标的任何提示或提示?
请参阅Grails文档中的修改示例,该文档应说明我的需求
def books = Publication.recentPublications.grailsInTitle.list(params) {
or {
like 'author', 'Tony%'
like 'author', 'Phil%'
}
}
这总是返回一个ArrayList ..
当删除其他条件时,如下所示使用
def books = Publication.recentPublications.grailsInTitle.list(params)
我想添加一些标准闭包,关于如何实现这一目标的任何提示或提示?
答案 0 :(得分:2)
我遇到了与命名查询相同的问题。这是我的解决方案应用于您的课程。评论它是否适合你。
class Publication {
//fields, constraints, etc.
namedQueries = {
authoredLike { String authorName ->
if (authorName) {
like 'author', authorName
}
// untested, but you get the point, please experiment
authoredLikeMany { List<String> authors ->
authors.each { String authorName -> like 'author', authorName }
}
}
}
def tonyBooks = Publication.recentPublications.grailsInTitle.authoredLike('Tony%').list(params)
def tonyAndPhilBooks = Publication.recentPublications.grailsInTitle.authoredLikeMany(['Tony%', 'Phil%']).list(params)