tryGetById() public method

Tries to find an entity with the given identifier in the identity map of this UnitOfWork.
public tryGetById ( mixed $id, string $rootClassName ) : mixed
$id mixed The entity identifier to look for.
$rootClassName string The name of the root class of the mapped entity hierarchy.
return mixed Returns the entity with the specified identifier if it exists in this UnitOfWork, FALSE otherwise.
Example #1
0
 /**
  * Gets a partial reference to the entity identified by the given type and identifier
  * without actually loading it, if the entity is not yet loaded.
  *
  * The returned reference may be a partial object if the entity is not yet loaded/managed.
  * If it is a partial object it will not initialize the rest of the entity state on access.
  * Thus you can only ever safely access the identifier of an entity obtained through
  * this method.
  *
  * The use-cases for partial references involve maintaining bidirectional associations
  * without loading one side of the association or to update an entity without loading it.
  * Note, however, that in the latter case the original (persistent) entity data will
  * never be visible to the application (especially not event listeners) as it will
  * never be loaded in the first place.
  *
  * @param string $entityName The name of the entity type.
  * @param mixed $identifier The entity identifier.
  * @return object The (partial) entity reference.
  */
 public function getPartialReference($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 instanceof $class->name ? $entity : null;
     }
     if (!is_array($identifier)) {
         $identifier = array($class->identifier[0] => $identifier);
     }
     $entity = $class->newInstance();
     $class->setIdentifierValues($entity, $identifier);
     $this->unitOfWork->registerManaged($entity, $identifier, array());
     $this->unitOfWork->markReadOnly($entity);
     return $entity;
 }