withcriteria uniqueresult projections grails groovy criteria

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