Где найти грааль

Есть ли способ использовать findWhere и не равное значение (пытаясь использовать его против критериев)?

Например

Books.findWhere('sale' : true, 'category': ne('exclude me') )

У меня есть рабочее решение, но мне было интересно, есть ли способ использовать findWhere Мне проще читать.

def result = Books.createCriteria().get{
            eq('sale', true)
            ne("category", 'exclude me')
}

2 ответа

Вы можете использовать либо методы динамического поиска:

Books.findAllBySaleAndCategoryNotEqual(true, 'exclude me')

или где запросы (которые используют DetachedCriteria:

Books.findAll {
     (sale == true) && (category != 'exclude me')
}

Я не знаю способ сделать это с findWhere но есть хороший синтаксис для динамических искателей с двумя свойствами, где один является boolean

Books.findSaleByCategoryNotEqual('exclude me')

(или же findNotSaleBy... если вы хотите, чтобы продажа была false).

Другие вопросы по тегам