2010-01-12 66 views
2

我有多對多的關係。Grails多對多協會查詢

class Post { 
    String title 
    static hasMany = [tags:Tag] 
} 

class Tag { 
    static hasMany = [posts:Post] 
} 

我想獲得職位的名單有一些其他的標準(如排序順序,偏題的比賽,等)的標籤。我有使用grails標準來實現這一目標嗎?或者是有一些辦法做這樣的事情:

Post.findAllByTitleLikeAndTagsContains("partial title", aTag) 

回答

4

我不認爲動態查找器將允許你進入一對多或多對多關聯 - 你必須做一個標準或去HQL查詢路線。您只能通過一對一的關聯查詢,而不能一對多查詢。 (見5.4.1 Dynamic Finders

+0

沒錯,動態查找器僅支持簡單的特性 - 標準時間! – leebutts 2010-01-12 22:21:20

+0

這就是我的想法。我真的希望Grails有一個簡單的方法來做到這一點,但我想我只能把它放在JIRA中。 – Blacktiger 2010-01-12 23:12:03

0

您可以使用withCriteria,例如:

Post.withCriteria{ 
    tags { 
     eq 'id',aTag.id 
    } 
} 
+0

的確如此,但如果您閱讀我的問題,您會注意到我正在尋求一種不使用標準的方法。 – Blacktiger 2012-01-03 21:30:09