0
我被困在一个点,在那里我从域中获取列表并将其保存到另一个列表中。我如何通过参数去新创建的列表我如何在Grails中的列表中设置参数最大值和偏移量
的代码看起来如下喜欢:
params.max = Math.min(max ?: 10, 100)
params.offset = params.offset as Integer ?: 0
Calendar date = Calendar.getInstance();
date.set(Calendar.DAY_OF_MONTH, 1);
Calendar date2 = Calendar.getInstance();
date2.set(Calendar.DAY_OF_MONTH, date.getActualMaximum(Calendar.DAY_OF_MONTH));
def MonthStartDate =date.getTime()
def MonthEndDate =date2.getTime()
int monthMaxDays = MonthEndDate - MonthStartDate + 1
Calendar cal0 = Calendar.getInstance();
cal0.set(Calendar.DAY_OF_MONTH,1);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH,1);
def myNewList = new ArrayList<DomainABCTYPE>()
def perDayDates = new ArrayList<Date>()
for(int i=0;i<monthMaxDays;i++) {
Date date1 = cal0.getTime();
cal.add(Calendar.DATE, 1);
Date calDate = cal.getTime();
def myListPerDay = DomainABCTYPE.findAllByStartDateLessThanAndEndDateGreaterThanEquals(calDate, date1, params)
int k=0
for(;k < myListPerDay .size(); k++){
myNewList.add(myListPerDay .get(k))
perDayDates.add(date1)
}
cal0.add(Calendar.DATE, 1)
}
render(view: "index", model:[ListInstance:myNewList ,ListCount:myNewList.size(), DatesList:perDayDates, MonthStartDate: MonthStartDate, MonthEndDate: MonthEndDate])
}
我需要检查数据的每一天就能做完一个月...如何编写gorm用于检查从1日到30日的日期范围,哪个日期位于两列的范围内startdate和enddate ..即我用于循环这里 – dhS
都取决于你是什么每天收集,计数发生,在某一天的实际记录方式还有其他的事情可以这样做,这样可以减少上述数据库要求,可以通过一次完成自己的映射或者更清楚地思考正在实现的内容以及HQL查询甚至原始SQL在一个查询中是否足够 – Vahid