class Address {
static hasMany = [addressGroups: AddressGroup]
...
}
class AddressGroup {
static belongsTo = Address
static hasMany = [addresses: Address]
String notation;
...
}
我尝试获取给定AddressGroup的所有地址。
我的代码:
def params = [max: 10]
def addressGroup = AddressGroup.findByNotation("asdf")
def addresses = Address.findAllByAddressGroups(addressGroup, params)
错误消息:没有为参数2指定值
记录的SQL语句:
select ... from ADDRESSES this_ where this_.id=10 order by this_.id asc limit ** NOT SPECIFIED **
......完全错误。
有什么想法吗?
我可以通过使用addressGroup.addresses获取地址(并且可以正常工作!),但我想在分页表中显示它,所以我需要max / offset params。
答案 0 :(得分:1)
我不认为动态查找器会采用您需要的分页参数。
查看GORM Labs Plugin,其中介绍了GORM的一些扩展。 “Paginated HasMany属性”部分向您展示了如何做您正在寻找的内容。
答案 1 :(得分:1)
嗯......我尝试使用GORM扩展程序,但仔细观察之后我发现它并不是我需要的。
我努力使用Criteria API:
def c = Address.createCriteria()
def results = c.list {
if(params.addressGroup) {
addressGroups {
eq('id', params.addressGroup)
}
}
maxResults(params.max)
order(params.sort, params.order)
}