我的控制器有这个:
def purchaseRequestList = PurchaseRequest.createCriteria().list (params) {
if ( params.query) {
ilike('requestBy', "%${params.query}%")
}
上面是我的列表方法的片段
它只能通过params requestBy
进行一次搜索然后我在我的gsp
中这样做<g:form action="listPurchaseRequest" method="GET">
<g:textField id="search" class="pull-right" name="query" value="${params.query}" placeholder=" Search"/>
</g:form>
现在我添加了一个新的requestNumber参数
我如何进行两次或多次搜索?
答案 0 :(得分:1)
我猜你想使用单个参数query
来搜索域类PurchaseRequest
中的多个字段。这可以这样做:
def purchaseRequestList = PurchaseRequest.findAllByRequestByLikeOrRequestNumberLike("%${params.query}%", "%${params.query}%", params)
答案 1 :(得分:0)
另一种选择可以是使用或{}:
为模型的不同参数嵌套ilikedef users = User.createCriteria().list(params) {
if (params.query) {
or {
ilike("fullName", "%${params.query}%")
ilike("email", "%${params.query}%")
}
}