/** * Populates identities for stored references * * @param LifecycleEventArgs $args */ public function postPersist(LifecycleEventArgs $args) { $object = $args->getDocument(); if (($name = $this->referenceRepository->getReferenceName($object)) !== false) { $identity = $args->getDocumentManager()->getUnitOfWork()->getDocumentIdentifier($object); $this->referenceRepository->setReferenceIdentity($name, $identity); } }
/** * Populates identities for stored references * * @param LifecycleEventArgs $args */ public function postPersist(LifecycleEventArgs $args) { $object = $args->getEntity(); if (($names = $this->referenceRepository->getReferenceNames($object)) !== false) { foreach ($names as $name) { $identity = $args->getEntityManager()->getUnitOfWork()->getEntityIdentifier($object); $this->referenceRepository->setReferenceIdentity($name, $identity); } } }
public function testHasIdentityCheck() { $role = new Role(); $referenceRepository = new ReferenceRepository($this->getMockSqliteEntityManager()); $referenceRepository->setReferenceIdentity('entity', $role); $this->assertTrue($referenceRepository->hasIdentity('entity')); $this->assertFalse($referenceRepository->hasIdentity('invalid_entity')); $this->assertEquals(['entity' => $role], $referenceRepository->getIdentities()); }