2014-01-08 95 views
3

我有以下域類(具有相關的屬性):的Grails GORM雙嵌套關聯查詢

class Order { 
    static belongsTo = [ restaurant : Restaurant ] 
} 

class Restaurant { 
    static belongsTo = [ country : Country ] 
} 

class Country { 
} 

表結構是精細而正確生成的數據。但是,當我嘗試獲得一個列表的所有訂單的餐廳屬於特定國家,我只得到一個訂單。

這是一個失敗的測試證明:

def testOrdersByCountry(){ 

    given: 
     def c = new Country().save() 
     def r = new Restaurant(country:c).save() 
     new Order(restaurant:r).save() 
     new Order(restaurant:r).save() 
     new Order(restaurant:r).save() 

    when: 
     def orders = Order.withCriteria { 
      restaurant { 
       country { 
        eq 'id', c.id 
       } 
      } 
     } 

    then: 
     orders.size() == 3 
} 

回答

0

您許多需要

static hasMany = [orders : Order] 

Restaurant