我注意到了一些我不太明白的行爲。只要前面的查詢不是從函數返回,就可以鏈接查詢。GORM返回值查詢組成
def w = Subscription.where { topicId == 1 }
w.where { user.id == 1 }.findAll()
//works as expected
def f() {
Subscription.where { topicId == 1 }
}
f().where { user.id == 1 }.findAll()
//doesn't filter by user.id
def f() {
Subscription.where { topicId == 1 }
}
f().build { eq 'user.id', 1L }
//works
我不介意使用DetachedCriteria#build()。我只是想了解:-D
---編輯
的Grails 2.4.2
爲什麼不嘗試用'findAllBy()'和createCriteria以'alias'? –
@MikelisBaltruks好吧,沒有實際的問題需要解決,我只想了解Groovy爲什麼要這樣做。另外,上面的代碼只是一個簡單的例子。 – kvbx