예제 #1
0
 public function saveTagging(BaseTaggable $resource)
 {
     $tags = clone $resource->getTags();
     parent::saveTagging($resource);
     if (sizeof($tags) !== sizeof($resource->getTags())) {
         // parent::saveTagging uses getTags by reference and removes elements, so it ends up empty :-/
         // this causes all tags to be deleted when an entity is persisted more than once in a request
         // Restore:
         $this->replaceTags($tags->toArray(), $resource);
     }
 }
 /**
  * Returns an array of tag names for the given Taggable resource.
  *
  * @param Taggable  $resource   Taggable resource
  */
 public function getTagNames(Taggable $resource)
 {
     $names = array();
     if (sizeof($resource->getTags()) > 0) {
         foreach ($resource->getTags() as $tag) {
             $names[] = $tag->getName();
         }
     }
     return $names;
 }