/** * Adds tags to photo. * * @param Photo $photo * @param array $tags */ public function addTagsToPhoto(Photo $photo, array $tags) { $photo->removeTags(); $em = $this->getEntityManager(); foreach ($tags as $name) { $tag = $this->findOneBy(['name' => $name]); if (!$tag instanceof Tag) { $tag = new Tag(); $tag->setName($name); $em->persist($tag); $em->flush(); } $photo->addTag($tag); } }