/** * {@inheritDoc} */ public function load(ObjectManager $manager) { foreach (static::$default_langs as $lang) { $language = new Language(); $language->setKey($lang); $language->setLastUpdate(new \MongoDate()); $manager->persist($language); $this->addReference(static::$reference_prefix . $lang, $language); } $manager->flush(); }
/** * @param $lang * @return \Symfony\Component\HttpFoundation\Response */ public function postLangAction($lang) { $dm = $this->get('doctrine_mongodb')->getManager(); $language = new Language(); $language->setKey($lang); $language->setLastUpdate(new \MongoDate()); $dm->persist($language); try { $dm->flush(); } catch (\Exception $e) { if ($e instanceof \MongoCursorException) { throw new ConflictHttpException('Duplicate entry for lang: ' . $lang, $e); } } $view = $this->view($language); return $this->handleView($view); }
/** * @return object */ public function testLang() { $language = new Language(); $language->setKey(static::LANG); $language->setLastUpdate(new \MongoDate()); $translation = new Translation(); $translation->setKey(static::TRANSLATION_KEY); $translation->setValue(static::TRANSLATION_VALUE); $translation->setLanguage($language); $language->addTranslation($translation); $this->documentManager->persist($language); $this->documentManager->persist($translation); $this->documentManager->flush(); $this->assertLangDocument($language); $this->assertLangDocumentData($language); $this->assertLangTranslationDocument($translation); $this->assertLangTranslationDocumentData($translation); $this->assertLangTranslationDocumentData($language->getTranslations()->getIterator()[0]); return (object) ['language' => $language, 'translation' => $translation]; }