dm = $dm; if ($purger !== null) { $this->purger = $purger; $this->purger->setDocumentManager($dm); } parent::__construct($dm); $this->listener = new MongoDBReferenceListener($this->referenceRepository); $dm->getEventManager()->addEventSubscriber($this->listener); } /** * Retrieve the DocumentManager instance this executor instance is using. * * @return DocumentManager */ public function getObjectManager() { return $this->dm; } /** @inheritDoc */ public function setReferenceRepository(ReferenceRepository $referenceRepository) { $this->dm->getEventManager()->removeEventListener( $this->listener->getSubscribedEvents(), $this->listener ); $this->referenceRepository = $referenceRepository; $this->listener = new MongoDBReferenceListener($this->referenceRepository); $this->dm->getEventManager()->addEventSubscriber($this->listener); } /** @inheritDoc */ public function execute(array $fixtures, $append = false) { if ($append === false) { $this->purge(); } foreach ($fixtures as $fixture) { $this->load($this->dm, $fixture); } } }