【发布时间】:2011-12-19 15:41:01
【问题描述】:
我是 Grails 开发的新手。
我有一个这样的域类:
class DaySchedule {
Date Todaysdate
String startTime;
String endTime;
String task
int priority
boolean completed
static belongsTo = [ schedule : Schedule ]
}
我已经用一些测试数据进行了引导。现在我想做一个查询,条件如下:
- 我需要选择属于特定
Todaysdate的每个task(存储在bootstrap.groovy中)。
例如,如果我的BootStrap.groovy 中有这些语句:
//other codes
def daySchedule3 = new DaySchedule(Todaysdate:new Date(),
startTime:"6pm",endTime:"10pm",
task:"ReaD git...",completed:false)
def daySchedule4 = new DaySchedule(Todaysdate:new Date()+1,
startTime:"10am",endTime:"12pm",
task:"Read MySQL....",completed:false)
现在很明显task、ReaD git... 属于一天(今天我已经将new Date() 传递给它)。
为了找到这些,我想出了一个像这样的部分解决方案:
def allTasks = DaySchedule.findAllByTaskIsNotNull()
def dates = allTasks.collect { it.Todaysdate }
def tasks = dates.collect {
def queryParameter = new DaySchedule(Todaysdate:it)
def todaysWork = DaySchedule.findAll(queryParameter)
todaysWork.task
}
我对这段代码有疑问。我无法在dates 和tasks 上使用collectEntries 方法,因此我将其转换为特定日期的地图(即dates),其值为tasks。 (这是我尝试的!)
现在我一个人呆着。我无法找到一种方法来猜测dates tasks 属于哪个。
还有其他解决方案吗?
提前致谢。
【问题讨论】:
标签: grails groovy grails-controller