繁体   English   中英

如何使用Grails可搜索插件比较tho属性

[英]How can I compare tho properties using grails Searchable Plugin

给定以下域类:

class Test {
    String name
    Integer val1, val2
}

我目前正在使用以下条件搜索此类:

Test.createCriteria().list(params) {
    params.key.split(' ').each {
        ilike('name', "%${it}%")
    }
    gtProperty('val1', 'val2')
}

我正在尝试使用Grails可搜索插件来改善搜索结果。 更具体地说,其查询生成器 唯一的问题是,在val1 > val2地方我找不到过滤结果的方法。 如图所示:

Test.search(params) {
    must(queryString(params.key))
    must(
        // Something to require that val1 > val2
    )
}

我可以在搜索后过滤它,但它会使分页混乱。

有任何想法吗?

这怎么了

def result = Test.where {
    it.name = name
    it.val1 > val2
}

编辑:在文档中将其显示为示例

search {                    // <-- create an implicit boolean query
    lt("pages", 50)         // <-- uses CompassQueryBuilder#lt, and adds a boolean "should" clause
    term("type", "poetry")  // <-- uses CompassQueryBuilder#term, and adds a boolean "should" clause
}

这样的事情对您有用吗? 不确定语法,以前从未使用过。

search {                      
    term("name", foo) 
    gt("val1", val2)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM