/** * @return Photo */ protected function getSamplePhoto() { $photo = new Photo(); $photo->setTags(['tag1 ', 'tag2', 'tag 3']); $photo->setId(4); $photo->setThumbnails([Photo::THUMBNAIL_STANDARD => 'standardUrl', Photo::THUMBNAIL_SMALL => 'smallUrl']); return $photo; }
/** * @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; }
/** * @param Photo $document * @return Photo */ public function store(Photo $document) { if ($document->getId() === null) { $id = uniqid(); $document->setId($id); } else { $id = $document->getId(); } $this->photos[$id] = $document; return $id; }
/** * @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; }