Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plugins Grails可搜索插件,用于多个域类和多个搜索字段,只需一个提交按钮_Plugins_Grails_Searchable - Fatal编程技术网

Plugins Grails可搜索插件,用于多个域类和多个搜索字段,只需一个提交按钮

Plugins Grails可搜索插件,用于多个域类和多个搜索字段,只需一个提交按钮,plugins,grails,searchable,Plugins,Grails,Searchable,我有多个域对象,有一对多、多对多的关系,搜索数据来自两个表,而且总是一样的。我在我的应用程序中实现了可搜索插件,当我有这样一个搜索字段时,我能够检索结果: <g:form url='[controller: "searchable", action: "searchContact"]' id="searchableForm" name="searchableForm" method="get"> <g:textField name="query" value="${pa

我有多个域对象,有一对多、多对多的关系,搜索数据来自两个表,而且总是一样的。我在我的应用程序中实现了可搜索插件,当我有这样一个搜索字段时,我能够检索结果:

<g:form url='[controller: "searchable", action: "searchContact"]' id="searchableForm" name="searchableForm" method="get">
    <g:textField name="query" value="${params.query}" size="40"/>
    <input type="submit" value="Search Contact" />
</g:form>. 

感谢您的快速建议。

您可以在一个字符串查询中传递所有术语,每个标记/单词用空格分隔,因此,例如,如果您有两个域类,一个称为Person,另一个称为Job,并且您搜索“John”和“Engineer”,则字符串查询应为“John Engineer”这会让你们两个都得到域对象


这就是您要查找的内容吗?

您可以在一个字符串查询中传递所有术语,每个标记/单词用空格分隔,因此,例如,如果您有两个域类,一个称为Person,另一个称为Job,并且您搜索“John”和“Engineer”,那么字符串查询应该是“John Engineer”这会让你们两个都得到域对象


这就是您要查找的吗?

请参阅我上面的代码,我希望此块包含我在UI上输入的所有搜索参数,一个或几个。它必须有一个搜索按钮提交所有或一个搜索字段选择。当我将一个搜索参数包含在它的工作参数中时,它会很好地工作,但如果我添加更多,它会给出异常。任何想法。代码片段将帮助我更多地考虑3个域类,每个域的3个搜索参数和搜索闭包。获取每个值并使用Javascript或2在客户机上连接它们。将所有值放入表单中,并将它们发送到服务器,然后在您的操作中连接它们以形成查询值。你能给我一段基于我的原始问题中显示的我的action searchContact的代码吗。谢谢你的帮助。所有的值都会像现在的查询一样进入params对象,所以你可以从params对象(如params.value1)中获取它们,并将其连接到查询字符串对象。你能重构我的方法并发送吗。另一件事是我的搜索应该使用单个搜索参数或多个搜索参数的组合。请重构我的方法,如果你发现今天某个时候,参考我上面的代码,我希望这个块包括我在UI上输入的所有搜索参数,一个或几个。它必须有一个搜索按钮提交所有或一个搜索字段选择。当我将一个搜索参数包含在它的工作参数中时,它会很好地工作,但如果我添加更多,它会给出异常。任何想法。代码片段将帮助我更多地考虑3个域类,每个域的3个搜索参数和搜索闭包。获取每个值并使用Javascript或2在客户机上连接它们。将所有值放入表单中,并将它们发送到服务器,然后在您的操作中连接它们以形成查询值。你能给我一段基于我的原始问题中显示的我的action searchContact的代码吗。谢谢你的帮助。所有的值都会像现在的查询一样进入params对象,所以你可以从params对象(如params.value1)中获取它们,并将其连接到查询字符串对象。你能重构我的方法并发送吗。另一件事是我的搜索应该使用单个搜索参数或多个搜索参数的组合。如果你今天找到时间,请重构我的方法,
def searchContact = { 
    if (!params.query) {
        return [:]
    }
    try {
        String searchTerm = params.query
        println searchTerm
        return [searchResult: searchableService.search(searchTerm, params)]
    } catch (SearchEngineQueryParseException ex) {
        return [parseException: true]
    }
}