Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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
如何让Grails导出插件正确处理条件查询?_Grails_Export_Grails Plugin - Fatal编程技术网

如何让Grails导出插件正确处理条件查询?

如何让Grails导出插件正确处理条件查询?,grails,export,grails-plugin,Grails,Export,Grails Plugin,我正在尝试将条件查询导出到CSV、Excel,以及您所拥有的内容。我遇到的问题是categories代码运行干净(如中所示,不会抛出任何错误),但它不会生成任何数据。我知道,data是一个列表的数组列表。有没有人能解决这个问题,或者告诉我我做错了什么 这是我的域对象: class Machine { String name, category // constraints, etc } 以下是我的控制器操作(主要来自以下方面): 我一提交问题就想到了一个可

我正在尝试将条件查询导出到CSV、Excel,以及您所拥有的内容。我遇到的问题是categories代码运行干净(如中所示,不会抛出任何错误),但它不会生成任何数据。我知道,
data
是一个列表的数组列表。有没有人能解决这个问题,或者告诉我我做错了什么

这是我的域对象:

class Machine {
    String name,
           category
    // constraints, etc
}
以下是我的控制器操作(主要来自以下方面):


我一提交问题就想到了一个可能的解决方案:Expando。以下是对控制器方法的更改:

// response stuff above
def fields = ["category", "count"]
def labels = ["category": "Category", "count": "# of machines" ]

def data = Machine.createCriteria().list {
    projections {
        groupProperty("category")
        countDistinct("id")
    }
}.collect { l -> new Expando("category": l[0], "count": l[1]) }

exportService.export(params.format, response.outputStream, data, fields, labels, [:], [:])
我正在利用导出插件试图从对象获取值这一事实。所以,我给它一个对象


如果有更好的解决方案,我将非常乐意看到。

是否真的执行了“If”语句?是的,但您必须检查内容类型。我忘记了Config.groovy文件中需要切换为true的确切选项。Expendo在grails 3.1及以上版本上不起作用,导出插件excel导出:2.1
// response stuff above
def fields = ["category", "count"]
def labels = ["category": "Category", "count": "# of machines" ]

def data = Machine.createCriteria().list {
    projections {
        groupProperty("category")
        countDistinct("id")
    }
}.collect { l -> new Expando("category": l[0], "count": l[1]) }

exportService.export(params.format, response.outputStream, data, fields, labels, [:], [:])