예제 #1
0
 /**
  * @param PhotoDocument $photoDocument
  * @return Photo
  */
 public function buildPhotoEntity(PhotoDocument $photoDocument)
 {
     $photo = new Photo();
     $photo->setThumbnails($photoDocument->getThumbnails());
     $photo->setId($photoDocument->getId());
     $photo->setTags($this->buildTagData($photoDocument->getTags()));
     return $photo;
 }
예제 #2
0
 /**
  * @param Photo $photo
  * @return Photo
  */
 public function store(Photo $photo)
 {
     $document = new PhotoDocument();
     $tags = [];
     foreach ($photo->getTags() as $tag) {
         $tags[] = new TagDocument($tag->getName());
     }
     $document->setTags($tags);
     $document->setThumbnails($photo->getThumbnails());
     $this->getDocumentManager()->persist($document);
     $this->getDocumentManager()->flush();
     $photo->setId((string) $document->getId());
     return $photo;
 }