Domanda

ho una relazione molti a molti.

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

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

Mi piacerebbe ottenere un elenco di posti per un tag che hanno alcuni altri criteri (come un criterio di ordinamento, match per il titolo parziali, ecc). Do I sono per utilizzare i criteri Grails per raggiungere questo obiettivo? O c'è qualche modo per fare qualcosa di simile:

Post.findAllByTitleLikeAndTagsContains("partial title", aTag)
È stato utile?

Soluzione

Non credo cercatori dinamici vi permetterà di entrare in uno a molti o molti a molte associazioni - quello che dovete fare un criterio o andare via interrogazione HQL. È possibile eseguire una query solo da 1-1 associazione, non per uno a molti. (Vedere la sezione 5.4 .1 Finders dinamici )

Altri suggerimenti

È possibile utilizzare withCriteria, ad esempio:

Post.withCriteria{
    tags {
        eq 'id',aTag.id
    }
 }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top