grails findWhere不相等

时间:2013-03-18 15:09:39

标签: grails gorm

有没有办法使用findWhere和不等值(尝试使用它与标准)?

E.g。

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

我有一个有效的解决方案,但想知道是否有办法使用findWhere我发现它更容易阅读。

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

2 个答案:

答案 0 :(得分:3)

您可以使用动态查找器方法:

Books.findAllBySaleAndCategoryNotEqual(true, 'exclude me')

或where查询(使用DetachedCriteria

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

答案 1 :(得分:2)

我不知道用findWhere做到这一点的方法,但是对于两个属性的动态查找器有一个很好的语法,其中一个是boolean

Books.findSaleByCategoryNotEqual('exclude me')

(或findNotSaleBy...如果您希望促销为false)。