/** * Save settings * * @param Newscoop\News\Item $item * @return void */ public function save(array $values, Settings $settings) { $settings->setArticleTypeName($values['article_type']); $settings->setPublicationId($values['publication']); $settings->setSectionNumber($values['section']); $this->odm->persist($settings); $this->odm->flush(); }
public function testTwoDiferentManager() { $meta = $this->dm1->getClassMetadata('Sluggable\\Fixture\\Document\\Article'); $dmArticle = new \Sluggable\Fixture\Document\Article(); $dmArticle->setCode('code'); $dmArticle->setTitle('title'); $this->dm1->persist($dmArticle); $this->dm1->flush(); $this->assertEquals('title-code', $dmArticle->getSlug()); $em1Article = new \Sluggable\Fixture\Article(); $em1Article->setCode('code'); $em1Article->setTitle('title'); $this->em1->persist($em1Article); $this->em1->flush(); $this->assertEquals('title-code', $em1Article->getSlug()); }
/** * Save item * * @param Newscoop\News\Item $item * @return void */ public function save(Item $item) { $persisted = $this->repository->find($item->getId()); if ($persisted !== null) { if ($item->getVersion() < $persisted->getVersion()) { return; } else { // @todo handle append signal $this->odm->remove($persisted); $this->odm->flush(); } } if ($item->isCanceled()) { return; } $this->odm->persist($item); $this->odm->flush(); }