gpt4 book ai didi

grails - 如何在带有Grails的条件中将嵌套属性与类中的属性一起使用?

转载 作者:行者123 更新时间:2023-12-02 14:49:32 27 4
gpt4 key购买 nike

我有这种情况:

country {
and {
rates{
and{
between('effectiveDate', startDate, endDate)
or {
and {
eq('hoursEligible', true)
gt('hours', new BigDecimal(0))
}
and {
eq('travelTimeEligible', true)
gt('travel', new BigDecimal(0))
}
and {
eq('mileageEligible', true)
gt('mileage', new BigDecimal(0))
}
and {
eq('expensesEligible', true)
gt('expenses', new BigDecimal(0))
}
}
}
}
}
}

问题是:hours是来自特定类的属性,该类具有此命名查询。费率是一个嵌套在我特定类的嵌套对象之一中的列表。
当我尝试使用它时,我得到:
java.lang.IllegalArgumentException: object is not an instance of declaring class

如何使用此命名查询引用hours属性?
另外还有一个问题...如果费率列表中有任何一项针对该条件返回true,它将返回true,对吗?

那是我的 Realm 类(class):
class TravelDetail {

Date date
Country country
BigDecimal hours
BigDecimal mileage
BigDecimal travel
BigDecimal expenses

进入国家我有:
class Country {

static hasMany = [rates: Rate

进入Rate我有:
class Rate {

Boolean hoursEligible = Boolean.TRUE
Boolean travelTimeEligible = Boolean.TRUE
Boolean mileageEligible = Boolean.TRUE
Boolean expensesEligible = Boolean.TRUE

最佳答案

在每个rate中拆分and条件,类似这样,

country {
and {
between('effectiveDate', startDate, endDate)
or {
and {
rates {eq('hoursEligible', true)}
gt('hours', new BigDecimal(0))
}
.
.
and {
rates {eq('expensesEligible', true)}
gt('expenses', new BigDecimal(0))
}
}
}
}

关于grails - 如何在带有Grails的条件中将嵌套属性与类中的属性一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40476372/

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