我正在做这样的事情来获取数据......
def prods = Product.executeQuery("select category.id,category.name, avg(competition1Price), avg(competition2Price), avg(onlineCompetitionPrice) from Product group by category.id")
render prods as JSON
不是我得到的输出就是这个..
[[1,"Colchones y",1657.4784,2071.5,1242.5]]
这些只是值..
我想使用相同的查询并获取键值对.. 喜欢你使用findAll(查询)的方式 但我似乎无法使用findAll()
实现此查询请帮助
谢谢..
答案 0 :(得分:0)
这是因为prods的实例只是具有查询结果的对象,而不是Product或其他域类的实例(您使用的HQL不代表域类)。你可以:
第二个选项类似于(未经测试):
def output = [[:]]
prods.each { result ->
def prod = ['category.id' : result[0] , 'category.name': result[1]] //and so on...
output << prod
}
render output as JSON
使用第二个选项来更改生成的结果,只需绘制地图的结构。如果需要,您还可以拥有地图列表。