Вы используете discovery
, прежде чем он будет объявлен в вызове функции.
Кроме того, когда вы объявите его в функции, он будет уничтожен в конце его и не будет доступен в основной объем.
Вы, вероятно, можете сделать что-то подобное. Не выполнил, но у вас есть идея. Взгляните на раздел подзапросов в GORM .
def peakinfoFilter = PeakInfo.createCriteria()
def pifilter = peakinfoFilter.list {
'in' "fname", PeResult.where{
conid == conid.toString()
fdr > "0.05"
}. peakfile
projections
{
groupProperty "transF"
count "fname"
}
}