У меня есть класс домена League
.Каждая лига имеет heightNumber
, представляющую высоту лиги (например: 1 = "первая лига, 2 =" вторая лига ") и widthNumber
, представляющую одни и те же высшие лиги. Итак, скажем, лига с высотой 3 и шириной 2можно рассматривать как «3.лига B.». Лига имеет от 0 до 16 команд. Я пытаюсь найти best(min(heightNumber)
и min(widthNumber)) League
, в которых есть свободные слоты для команд (teams.size()<16)
def league = League.withCriteria(uniqueResult:true){
sizeLt("teams", 16)
and {
eq(heightNumber, min("heightNumber"))
eq(widthNumber, min("widthNumber"))
}
}
Iзнаю, что приведенный выше код не возвращает желаемую Лигу.
Мой Лига Domainclass:
class League {
String leagueName
int heightNumber
int widthNumber
static hasMany = [teams:Team]
static constraints = {
teams(size:0..16)
heightNumber min:1
widthNumber min:1
}
}
Другими словами, мне нужно:
def leagues = League.withCriteria{
and {
order('heightNumber', 'asc')
order('widthNumber', 'asc')
}
}
for(League l : leagues){
if(l.teams.size()<16){
return l
}
}
этот код сейчасработает для меня, но я думаю, что это совершенно бесполезно. Было бы здорово, если кто-то может мне помочь.