在 Grails 2.0 中定义 where 查询时是否可以使用参数?例如:
def query = Book.where {
id == it
}
Book sub = query.find(5)
我尝试运行该代码,但它在调用 find 时抛出 MissingMethodException。我还尝试在它之前定义一个变量,但它似乎不起作用(因为 find 返回 null,即使我知道它存在)。
Long someId = 5
def query = Book.where {
id == someId
}
Book sub = query.find()
有什么技巧吗?能够动态更改查询的参数将非常有用。
(我知道我可以只使用 Book.get(5),但为了简单起见,这似乎是最容易选择的示例)
似乎执行此操作的方法是将闭包定义为 detachCriteria,
import grails.gorm.*
def callable = { id ->
id == id
} as DetachedCriteria<Book>
def query = Book.where( callable( id: 5 ) )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)