Grails - 动态查找器派生日期查询GORM

时间:2015-02-24 19:53:41

标签: grails groovy gorm

我有以下域类

class Book {
    String title
    Date releaseDate
    Integer daysOnShelf
    Author author
}

如何列出当前日期大于releaseDate + daysOnShelf的所有图书?例如,不要列出2015-02-10 + 5releaseDate + daysOnShelf),因为日期比现在少。

可以使用GORM动态查找器或Criteria Builder完成吗?如,

 def index(Integer max) {
     def books = Book.findAll {
         releaseDate.plus(daysOnShelf) < new Date()
     }
     respond books
 }

1 个答案:

答案 0 :(得分:1)

这应该可以满足您的需求:

Date dateMinusDaysOnShelf = new Date() - daysOnShelf

Book.findAllByReleaseDateLessThan(dateMinusDaysOnShelf)