2010-09-18 91 views
1

我可以這樣寫:在grails中,爲什麼我必須爲條件創建一個變量?

def c = Transaction.createCriteria() 
def transactions = c.list { 
    projections { 
     groupProperty("product") 
     countDistinct("id") 
    } 
    maxResults(pageBlock) 
    firstResult(pageIndex) 
} 

但不能這樣寫:

def transactions = Transaction.createCriteria() .list { 
    projections { 
     groupProperty("product") 
     countDistinct("id") 
    } 
    maxResults(pageBlock) 
    firstResult(pageIndex) 
} 

這是爲什麼?爲什麼保持標準需要變量c

回答

1

嘗試使用其他名稱,而不是「交易」,看看你是否得到了預期的結果。

我把你的代碼,而只是改變了對象的名稱和它工作正常

0

你的第二個例子應該工作亞倫指出。有時我發現,當數據庫沒有結果時,你會得到錯誤,所以也許就是這樣。

名單()是由這樣的默認值,所以如果你真的想縮短它,你甚至可以做到這一點:

def transactions = Transaction.createCriteria() { 
相關問題