Где найти грааль
Есть ли способ использовать 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
).