Grails 过滤“belongsTo”结果

Grails 过滤“belongsTo”结果,grails,groovy,gorm,grails-domain-class,grails-controller,Grails,Groovy,Gorm,Grails Domain Class,Grails Controller,我是grails的新手,这是一项艰巨的工作,在没有人可以问这类问题的情况下试着去理解它。 我有以下问题。这是我的两个域类:Pagadora和Calculo 帕加多拉 布尔变量activo表示Pagadora是否会出现在Calculo类中视图的选择列表中 计算常规 我想要的是以下内容,我想在选择中筛选,只选择活动的Pagadoras <g:select id="imss" name="imss.id" from="${Pagadora.Pagadora.list(sort: "nombre

我是grails的新手,这是一项艰巨的工作,在没有人可以问这类问题的情况下试着去理解它。 我有以下问题。这是我的两个域类:Pagadora和Calculo

帕加多拉

布尔变量activo表示Pagadora是否会出现在Calculo类中视图的选择列表中

计算常规

我想要的是以下内容,我想在选择中筛选,只选择活动的Pagadoras

 <g:select id="imss" name="imss.id" from="${Pagadora.Pagadora.list(sort: "nombre", order: "asc")}" optionKey="id" required="" value="${calculoInstance?.imss?.id}" class="many-to-one form-control" noSelection="['':'-Escoja la empresa-']" />    

很抱歉,如果有点难理解我的意思,但对我来说有点难尝试用英语解释类似的内容我的母语是西班牙语:p如果要获取所有处于活动状态的条目,请将from属性更改为:

from="${Pagadora.findAllByActivo(true) [sort: 'nombre', order: 'asc']}"
这是一个很好的例子


在注释中指出,此处的布尔参数可以省略。有关详细信息,请参见示例。如果要获取所有非活动条目,仍然可以不使用该参数,将查找程序命名为findAllByNotActivo。当您有两个用于查找器的参数(其中一个是布尔值)时,这尤其方便

正是我想要的。非常感谢您的帮助。您可以将Pagadora.findAllByActivotrue改为Pagadora.findallaActivo。大约4年前,我为Grails1.3.2做了一些工作@杰夫:谢谢,我想是的,但我在文档中找不到。对。《用户指南》中没有太多关于该功能的详细描述,但有一些示例。例如,使用Book.findalllpaperbackbyauthordouglas Adams和Book.findAllNotPaperbackByAuthorDouglas Adams等方法进行演示。平装本属性是在那里处理的布尔值。这不是你真正的问题,但在GSP中嵌入这样的代码不是一个好主意。更好的做法是在视图呈现之前执行查询,通常是在控制器操作或服务方法中,并将结果放入传递给视图的模型中。
 <g:select id="imss" name="imss.id" from="${Pagadora.Pagadora.list(sort: "nombre", order: "asc")}" optionKey="id" required="" value="${calculoInstance?.imss?.id}" class="many-to-one form-control" noSelection="['':'-Escoja la empresa-']" />    
from="${Pagadora.findAllByActivo(true) [sort: 'nombre', order: 'asc']}"