4
在Grails 2.0中定義where查詢時可以使用參數嗎?例如:在Grails 2.0中查詢的新參數
def query = Book.where {
id == it
}
Book sub = query.find(5)
我試着運行該代碼,但它在調用find時拋出了MissingMethodException。我也嘗試過在它之前定義一個變量,但它似乎不起作用(即使我知道它存在,查找返回null)。
Long someId = 5
def query = Book.where {
id == someId
}
Book sub = query.find()
任何詭計?能夠動態更改查詢的參數將非常有用。
(我知道我可以只使用Book.get(5),但是爲了簡單起見,這似乎是最簡單的例子來接)
看起來它應該工作,但是當我嘗試它時,仍然不會去(MissingMethodException,抱怨沒有eq方法)。還改變了參數someId所以它不試圖比較自己,並嘗試callable(5)(沒有地圖),都沒有運氣。我認爲答案是,您必須使用namedQueries來執行此操作。不幸的是,因爲新的語法非常好! – Todd