Yes, this is something that's come up before, though I can't remember the reason (nor the fix).
You might want to check out this TagBehavior, though: http://bakery.cakephp.org/articles/view/simple-tagging-behavior On Mon, Apr 28, 2008 at 11:04 PM, AussieFreelancer <[EMAIL PROTECTED]> wrote: > > Hi all, I'm sure this must be me, but I can't see what I am doing > wrong so thought I would post here. > > I am trying to set up a posts/tags kind of thing with a site I am > building which stores presentations. So there can be tags associated > with a presentation. > > I didn't want a multiple select box for the tags as there could be > hundreds, and that wouldn't allow for adding new ones. > > So I have a text field, that the user can enter the keywords, > separated with a coma. > > In my controller, I first remove any entries in the presentations_tags > table, so that it is not associated with any tags. > > Then I split the value of the field, trim off white space, then loop > through each tag (case insensitive) that has been submitted. > > If the tag exists, I update the presentations_tags table with the > id's. > > If the tag does not exist, I first insert it in to the tags table, > then using getLastInsertId() I proceed to update the > presentations_tags table. > > Everything works, and does what I am asking it to, except that in the > case of a tag not existing, it ALSO adds 4 entries for each tag. > > These entries always have the id of the tag in the tag_id field, but > they also have the following presentation_id's: > > 0, 2, 3, 10 > > All 4 of these are additional to the desired result, and they always > follow this pattern. If I add two new tags, I have 8 added, 4 for each > tag, and they all follow the above pattern. > > This is the code I am using for when the tag isnt found: > > ------------------------------- CODE > ----------------------------------- > > //insert new tag > $this->data['Tag']['name'] = $tag; > $this->Tag->create(); > $this->Tag->save($this->data); > > //get insert id > $last_insert_id = $this->Tag->getLastInsertId(); > > //update presentations_tags > $this->data['PresentationsTag']['presentation_id'] = $id; > $this->data['PresentationsTag']['tag_id'] = $last_insert_id; > > $this->PresentationsTag->create(); > $this->PresentationsTag->save($this->data); > > > ------------------------------------------------------------------------------ > > Has this been experienced before? I cant see any reason for it. > > As a sidenote, I have created a model for the presentations_tags table > so that I can achieve what I am after. > > Any help would be greatly appreciated. > > Many Thanks > > Patrick > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---
