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