예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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;
 }