Я новичок в разработке 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
для dates
и tasks
, чтобы преобразовать его в карту определенной даты (например, dates
) со значениями tasks
. (что я и пытался!)
Теперь я остался один. Я не смог найти способ угадать, к чему dates
принадлежит tasks
.
Какие-нибудь другие решения для этого?
Заранее спасибо.