繁体   English   中英

Grails如何进行多个搜索查询

[英]Grails how to do multiple search queries

我从我的控制器那里得到了这个:

def purchaseRequestList = PurchaseRequest.createCriteria().list (params) {      
    if ( params.query) {        
        ilike('requestBy', "%${params.query}%")     
    }

上面是我的列表方法的摘录

它只能按参数请求进行一次搜索

然后我在我的gsp中执行此操作

<g:form action="listPurchaseRequest" method="GET">
    <g:textField id="search" class="pull-right" name="query" value="${params.query}" placeholder=" Search"/>
</g:form>

现在我添加了一个requestNumber的新参数

如何进行两次或更多次搜索?

我会猜测您要使用单个参数query来搜索域类PurchaseRequest中的多个字段。 可以这样完成:

def purchaseRequestList = PurchaseRequest.findAllByRequestByLikeOrRequestNumberLike("%${params.query}%", "%${params.query}%", params)

请参阅Grails文档Dynamic Finders部分

另一种选择是使用or {}为模型的不同参数嵌套ilike:

def users = User.createCriteria().list(params) {
        if (params.query) {
            or {
                ilike("fullName", "%${params.query}%")
                ilike("email", "%${params.query}%")
            }
        }

暂无
暂无

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

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