gpt4 book ai didi

grails - 与namedQuery以多对多关系获取随机记录

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

我在两个具有联接表的对象之间有多对多关系。我需要能够根据父级和日期选择5个随机子级,不包括某些子级记录。我被困住了。有任何想法吗?

   Parent {
static hasMany = [children: Child]
}

Child {
Date dob
static belongsTo = [Parent]
static hasMany = [parents: Parent]

static namedQueries {

randomFiveChildrenBornAfter { parentid, dob, excludeChildren->

qt 'dob', dob
parents {
eq 'id',parentid
}
// not in(excludeChildren) ?? order by rand() ??
}
}
}

最佳答案

这些字面上的 parent /子女关系(在人类中)吗?如果是这样,则子代集可能很小,我可能只是在内存中而不是通过sql查询来完成。

parent.children
.findAll { dob >= fiveYearsAgo }
.sort { Math.random() }
.with { it.size() >= 5 ? it.subList(0,5) : it }

关于grails - 与namedQuery以多对多关系获取随机记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3138261/

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