grails - uniqueresult - Pasar la lista Enum a Criteria
grails projections (2)
Tengo un pago de dominio
class Payment {
String name
PaymentType paymentType
}
PaymentType es un ENUM
buscar todos los pagos de un tipo de pago particular es simple
def results = Payment.createCriteria.list = {
''in'' (''paymentType'', PaymentType.valueOf(params.paymentType))
}
¿Cómo puedo manejar la situación cuando quiero buscar todos los pagos contra más de un tipo de pago, es decir, si params.paymentType es una matriz?
Si paymentType es una matriz, puede hacer algo como esto:
def results = Payment.createCriteria().list {
''in'' (''paymentType'', params.paymentType.collect{PaymentType.valueOf(it)})
}
@ataylor:
No estoy realmente seguro ... pero no debería ser
def results = Payment.createCriteria().list { ''in'' (''paymentType'',new params.paymentType.collect{PaymentType.valueOf(it)}) }
o obtendrás un error
groovy.lang.MissingPropertyException: No such property: params for class: grails.orm.HibernateCriteriaBuilder