Grails 列表中的Groovy findAll()<;列表>;出错
我正试图运行一段代码,却陷入了一段代码中,我发现这段代码相当简单:Grails 列表中的Groovy findAll()<;列表>;出错,grails,groovy,Grails,Groovy,我正试图运行一段代码,却陷入了一段代码中,我发现这段代码相当简单: List<List> nearestAvailableEmployees = Staffing.createCriteria().list { createAlias('employee','e') projections { property('e.id') property('e.name') property('endDate')
List<List> nearestAvailableEmployees = Staffing.createCriteria().list {
createAlias('employee','e')
projections {
property('e.id')
property('e.name')
property('endDate')
property('startDate')
}
gt('endDate', new Date())
and{
order("e.id", "asc")
order("endDate", "asc")
}
}
return nearestAvailableEmployees.findAll{
it[0] == 112
}
我通过修改代码并在条件查询之后添加以下代码段纠正了错误:
.collect{
it as List
}
有人能帮我写代码吗。关于这个代码:
List<List> nearestAvailableEmployees = Staffing.createCriteria().list {
...
}
或者强调NeareStailableEmployees是人员配置对象的列表:
return nearestAvailableEmployees.findAll{
Staffing staffing ->
staffing.id == 112
}
什么版本的Grails?我刚刚用2.3.3试过,效果不错。也许可以打印出
neareSavailableEmployees.dump()
并查看您从list
返回的数据类型?我使用的是Grails 2.1.1版,打印完您所说的内容后,我得到的数据类型是ArrayList。它应该可以工作了。。。你确定那是你所有的密码吗?是的,我确定那是你所有的密码。我可以给你发截图,如果你insistI不会得到一个人员对象列表,因为我使用的是投影,它会给我一些确实是对象的选定字段。
return nearestAvailableEmployees.findAll{
// it is of type Staffing
it.id == 112
}
return nearestAvailableEmployees.findAll{
Staffing staffing ->
staffing.id == 112
}