gpt4 book ai didi

grails - 有关网域中listsize的Grails标准

转载 作者:行者123 更新时间:2023-12-02 14:13:25 25 4
gpt4 key购买 nike

我有域类League。每个联赛都有一个表示联赛高度的heightNumber(例如:1 =“第一联赛,2 =”第二联赛”)和一个widthNumber表示相同的高联赛。因此,可以说,高度为3且宽度为2的联赛为“3.League 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"))
}
}

我知道上面的代码不会返回所需的联赛。

我的联赛网域类别:
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
}
}

该代码现在对我有效,但我认为这很不合适。
如果有人可以帮助我,那就太好了。

最佳答案

我建议使用更灵活的hql。我希望这对您有效,而不是经过测试:

League.executeQuery("select distinct l from League as l where (select min(heightNumber) from League) = l.heightNumber and (select min(widthNumber) from League) = l.widthNumber and l.teams < 16")

关于grails - 有关网域中listsize的Grails标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com