/**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $now = time();
     $tag = new Tag();
     $tag->setName('Tag' . $now);
     $manager->persist($tag);
     $manager->flush();
     self::$tags[] = $tag;
 }
 /**
  * @param Photo $photo
  * @param array $tagsArray
  */
 public function updateTags(Photo &$photo, array $tagsArray = [])
 {
     /** @var \Doctrine\ORM\EntityRepository $repository */
     $repository = $this->entityManager->getRepository('ApiBundle:Tag');
     /** @var Tag[] $tagsEntities */
     $tagsEntities = $repository->createQueryBuilder('t')->where('t.name IN (:tags)')->setParameter('tags', $tagsArray)->getQuery()->execute();
     foreach ($tagsEntities as $tagEntity) {
         $photo->addTag($tagEntity);
         $keyOnArray = array_search($tagEntity->getName(), $tagsArray);
         unset($tagsArray[$keyOnArray]);
     }
     foreach ($tagsArray as $tag) {
         $newTag = new Tag();
         $newTag->setName($tag);
         $photo->addTag($newTag);
         $this->entityManager->persist($newTag);
     }
 }