我是 Grails 开发的新手。
我有一个这样的域类:
class DaySchedule {
Date Todaysdate
String startTime;
String endTime;
String task
int priority
boolean completed
static belongsTo = [ schedule : Schedule ]
}
我已经引导了一些测试数据。现在我想做一个查询,条件如下:
- 我需要选择属于特定的每个
task
(存储在 中) 。bootstrap.groovy
Todaysdate
例如,如果我在我的中有这些语句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
}
我对这段代码有疑问。我无法collectEntries
在 and 上使用方法dates
,tasks
因此我将其转换为特定日期(即dates
)的地图,其值为tasks
. (这就是我尝试的!)
现在我一个人呆着。我无法找到一种方法来猜测dates
属于哪个tasks
。
还有其他解决方案吗?
提前致谢。