gpt4 book ai didi

grails - 使用参数查询关联的域对象给出错误 : Cannot query property "params" - no such property on class

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

我有两个域对象:
户主和地址,

在 HeadOfHousehold 我有以下关系:

Address currentAddress
Address previousAddress

在地址我有:
static belongsTo = [headOfHousehold: HeadOfHousehold]

我有以下查询:
def customers = HeadOfHousehold.findAll {
if(params.lastName){
lastName =~ params.lastName+ "%"
}
if(params.firstName){
firstName =~ params.firstName + "%"
}
if(params.middleName){
middleName =~ params.middleName + "%"
}
if(params.city){
currentAddress.city =~ params.city+ "%"
}
if(params.zipCode){
currentAddress.zipCode == params.zipCode
}
if(params.extendedZipCode){
currentAddress.extendedZipCode == params.extendedZipCode
}

}

问题出在我得到错误的最后三个语句上:
Cannot query property "params" - no such property on class HeadOfHousehold
当我进入地址时,它不会提示与 lastName firstName 或 middleName 相关的查询。我可以通过将参数保存在字符串中并以这种方式来解决它:
String city = params.city + "%"
String zipCode = params.zipCode
String extendedZipCode = params.extendedZipCode
String state = params.state
def customers = HeadOfHousehold.findAll {
if(params.lastName){
lastName =~ params.lastName+ "%"
}
if(params.firstName){
firstName =~ params.firstName + "%"
}
if(params.middleName){
middleName =~ params.middleName + "%"
}
if(params.city){
currentAddress.city =~ city
}
if(params.state){
currentAddress.state == state
}
if(params.zipCode){
currentAddress.zipCode == zipCode
}
if(params.extendedZipCode){
currentAddress.extendedZipCode == extendedZipCode
}

}

为什么这是必要的?我究竟做错了什么? (使用 grails 2.3.8 版)

最佳答案

试图匹配关联或属性的属性,它看起来 params作为父类的属性。我不完全确定这是否是预期的行为。我会更多地研究它。

但是您可以通过使用您所做的方式或仅使用与 . 相比的闭包方法(DSL 方式)很好地克服这个问题。手术。例如:

if(params.city){
currentAddress { city =~ params.city+ "%" }
}
if(params.zipCode){
currentAddress { zipCode == params.zipCode }
}
if(params.extendedZipCode){
currentAddress { extendedZipCode == params.extendedZipCode }
}

关于grails - 使用参数查询关联的域对象给出错误 : Cannot query property "params" - no such property on class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24026069/

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