Revision: 4477
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at December 19, 2007 14:34 by dima767
                            
                            Updated Code
def setup = {
    new User(name:'user1').save(flush:true)
    new User(name:'user2').save(flush:true)
    tagsForUser1 = ['tag1','tag2']
    tagsForUser2 = ['tag1']
    u1 = User.findByName('user1')
    u2 = User.findByName('user2')
    
    //ITEM1 ***************************************************
    item1 = new Taggable(name:'item1')
    item1.user = u1
    tagsForUser1.each {
        t = Tag.findByName(it)
        if(!t) {
            t = new Tag(name:it).save()
        }
        item1.addToTags(new Tagging(user:u1,tag:t,taggable:item1))
    }
    item1.save(flush:true)
    
    //ITEM2 **************************************************
    item2 = new Taggable(name:'item2')
    item2.user = u2
    tagsForUser2.each {
        t = Tag.findByName(it)
        if(!t) {
            t = new Tag(name:it).save()
        }
        item2.addToTags(new Tagging(user:u2,tag:t,taggable:item2))
    }
    item2.save(flush:true)
}
//setup()
t = Tag.findByName('tag1')
itemsForUserAndTag = Taggable.withCriteria {
    and {
        eq('user', u2)
        tags {
            eq('tag', t)
        }
    }
}
itemsForTag = Taggable.withCriteria {
    tags {
        eq('tag', t)
    }
}
println "Items for user and tag: $itemsForUserAndTag.name"
println "Items for tag: $itemsForTag.name"
                                
                            Revision: 4476
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at December 19, 2007 13:44 by dima767
                            
                            Initial Code
def setup = {
    new User(name:'user1').save(flush:true)
    new User(name:'user2').save(flush:true)
    tagsForUser1 = ['tag1','tag2']
    tagsForUser2 = ['tag1']
    u1 = User.findByName('user1')
    u2 = User.findByName('user2')
    
    //ITEM1 ***************************************************
    item1 = new Taggable(name:'item1')
    item1.user = u1
    tagsForUser1.each {
        t = Tag.findByName(it)
        if(!t) {
            t = new Tag(name:it).save()
        }
        item1.addToTags(new Tagging(user:u1,tag:t,taggable:item1))
    }
    item1.save(flush:true)
    
    //ITEM2 **************************************************
    item2 = new Taggable(name:'item2')
    item2.user = u2
    tagsForUser2.each {
        t = Tag.findByName(it)
        if(!t) {
            t = new Tag(name:it).save()
        }
        item1.addToTags(new Tagging(user:u2,tag:t,taggable:item2))
    }
    item2.save(flush:true)
}
                                Initial URL
Initial Description
Initial Title
Tagging in Grails: many-to-many
Initial Tags
groovy
Initial Language
Groovy