Doctrine\ORM\EntityManager::getReference PHP Method

getReference() public method

Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded.
public getReference ( string $entityName, mixed $identifier ) : object
$entityName string The name of the entity type.
$identifier mixed The entity identifier.
return object The entity reference.
    public function getReference($entityName, $identifier)
    {
        $class = $this->metadataFactory->getMetadataFor(ltrim($entityName, '\\'));

        // Check identity map first, if its already in there just return it.
        if ($entity = $this->unitOfWork->tryGetById($identifier, $class->rootEntityName)) {
            return $entity;
        }
        if ($class->subClasses) {
            $entity = $this->find($entityName, $identifier);
        } else {
            if ( ! is_array($identifier)) {
                $identifier = array($class->identifier[0] => $identifier);
            }
            $entity = $this->proxyFactory->getProxy($class->name, $identifier);
            $this->unitOfWork->registerManaged($entity, $identifier, array());
        }

        return $entity;
    }

Usage Example

コード例 #1
3
ファイル: DoctrineObjectPacker.php プロジェクト: brick/brick
 /**
  * {@inheritdoc}
  */
 public function unpack($object)
 {
     if ($object instanceof ObjectSignature) {
         return $this->em->getReference($object->getClass(), $object->getIdentity());
     }
     return null;
 }
All Usage Examples Of Doctrine\ORM\EntityManager::getReference