2013-06-03 196 views
-2

我怎麼能執行從一個類(控制器)的自定義查詢有我想要從執行查詢

class something { 
//query select from anything 
} 

class anything{ 
} 

結果我有一個域類(表)沒有任何關係域類稱爲用戶,並且它想從另一個控制器訪問它。執行以下操作:

def result = users.executeQuery("select distinct a.id from users a"); 

給我一個錯誤:No such property: Users for class:something

我一定要導入什麼?

回答

1
class something { 
    def reallyObscureMethodBecauseYourquestionIsreallyNotClear() { 
     def someResults = anything.where { 
      whateverProperty == 'whatever condition' 
     }.list() 
     render(view:'someOtherView',model:[crazyunspecificModel:someResults]) 
    }  

} 

class anything{ 
} 

說真的,你可以花更多的精力來構思你的問題,這是我站在哪裏的一個懶惰的問題。

UPDATE

因此,這可能是你第一次嘗試任何接近的JVM,對不對?

如果你想使用一個類,你需要導入它,如果你的控制器與你的外部類不在同一個包中。

如果您的用戶類(順便說一下,約定建議使用類大寫的名稱,併爲變量小寫形式的名稱)在包com.example.domain:

另外,儘量使用域奇異名稱類:用戶,而不是用戶。

另外,你爲什麼要使用SQL? grails的一個優點是允許你在更高的抽象級別指定查詢。

import com.example.domain.User 

class AlienController { 
     def list() { 
     def result = User.executeQuery("select distinct a.id from users a") 
     } 
} 
+0

很抱歉,但我是很新的Grails和不知道如何把它 – Jacob

+0

執行此仍然給了我同樣的錯誤 – Jacob

+0

'User.executeQuery(「選擇用戶明顯a.id」) ' –