Bravo3\Orm\KeySchemes\KeySchemeInterface::getIndexKey PHP Method

getIndexKey() public method

Get the key for an standard index
public getIndexKey ( Bravo3\Orm\Mappers\Metadata\Index $index, string $key ) : string
$index Bravo3\Orm\Mappers\Metadata\Index Index belonging to entity
$key string Index key
return string
    public function getIndexKey(Index $index, $key);

Usage Example

Example #1
0
 /**
  * Retrieve an entity by an index
  *
  * @param string $class_name
  * @param string $index_name
  * @param string $index_key
  * @param bool   $use_cache
  * @return object
  */
 public function retrieveByIndex($class_name, $index_name, $index_key, $use_cache = true)
 {
     $metadata = $this->mapper->getEntityMetadata($class_name);
     $index = $metadata->getIndexByName($index_name);
     if (!$index) {
         throw new InvalidArgumentException('Index "' . $index_name . '" is not valid');
     }
     $id = $this->driver->getSingleValueIndex($this->key_scheme->getIndexKey($index, $index_key));
     if (!$id) {
         throw new NotFoundException('Index "' . $index_key . '" not found');
     }
     return $this->retrieve($class_name, $id, $use_cache);
 }