/** * Transforms a string (ftags) to an array of entities ($tags_arraytag). * * @param string $ftags * @return array */ public function reverseTransform($ftags) { if (!$ftags) { $ftags = ''; // default } $tags_arraytag = new ArrayCollection(); $tags_arraystring = explode(",", $ftags); foreach ($tags_arraystring as $i => $tag_string) { // On vérifie si le tag est déjà dans la DB $issue = $this->om->getRepository('HeliosBlogBundle:Tag')->findOneByTag($tag_string); if (null === $issue) { $itag = new Tag(); $itag->setTag($tag_string); if (!$tags_arraytag->contains($itag)) { $tags_arraytag[$i] = $itag; } } else { if (!$tags_arraytag->contains($issue->getTag())) { $tags_arraytag[$i] = $issue; } } } return $tags_arraytag; }
/** * Add tag * * @param \Helios\BlogBundle\Entity\Tag $tag * * @return Article */ public function addTag(\Helios\BlogBundle\Entity\Tag $tag) { $tag->addArticle($this); // synchronously updating inverse side $this->tags[] = $tag; return $this; }