带有fetch参数的列表

时间:2011-09-15 09:24:19

标签: grails groovy gorm

我有一个名为Address的类,它有一个名为clone的布尔字段。我正在尝试使用Grails list()方法来显示Addressclone = false的实例。我虽然可以使用fetch参数来完成此任务,但它没有按预期工作。而不是仅返回我想要的地址,而是返回Address类的所有实例。这就是我所拥有的:

def list = {
    params.max = Math.min(params.max ? params.int('max') : 10, 100)
    params.fetch = [clone:false]
    [addressInstanceList: Address.list(params), addressInstanceTotal: Address.count()]
}

即使我真的很简单,提取仍然无法按预期工作。例如,如果我指定我只想用邮政编码“90210”获取Address类的实例,我写了这个,但它仍然给了我Address类的所有实例。

Address.list(fetch:[zip:"90210"])

我做错了什么?

1 个答案:

答案 0 :(得分:6)

fetch方法的Domain.list()参数不是用于过滤响应,也不是用于获取某些项,而是用于指定是否急切地或懒惰地加载Domain类的属性

ie(来自documentation for list):

def results = Book.list(fetch:[authors:"eager"])

要做你正在做的事情,我相信你可以使用findAllWhere电话,例如:

Address.findAllWhere( clone:false, zip:'90210' )