,我有以下的ItemController.groovy一段代碼訪問自動生成的字段和查詢
def list = {
params.max = 60
def storeYYId = params.id
[itemInstanceList: Item.list(params), itemInstanceTotal: Item.count()]
}
我在Item.groovy如下:
class Item {
String itemName
static belongsTo = [store:Store]
static constraints = {
itemName(blank:false)
storeId()
}
}
這給了我,因爲一個錯誤它告訴我沒有storeId屬性,但是存在,因爲store_id是相應數據庫中Store表的外鍵。
問題1。我該如何告訴Grails讓我訪問GORM自動生成的域的屬性,如本例中的id和storeId?
Question2。我應該在我的列表動作的ItemController.groovy中寫入哪些代碼,以便僅檢索storeId == storeYYId的項目列表?
也簡單做Item.findAllByStore(Store.get(STOREID)) – Gregg
@Gregg該解決方案是絕對簡單的,但我相信它會導致兩個查詢被髮布,我想避免 –
當然。不過,get()總是試圖從緩存中取出。所以命中可能可以忽略不計。我想你也可以完成Item.findAllByStore(Store.load(storeId)),這就足夠了,甚至不需要去緩存。 – Gregg