Storm\Core\Containers\Map::From PHP Method

From() public static method

Creates a new map from two arrays of instances.
public static From ( array $Instances, array $ToInstances ) : Map
$Instances array The array of objects to map.
$ToInstances array The array of object to map to.
return Map The created map
    public static function From(array $Instances, array $ToInstances)
    {
        if (count($Instances) !== count($ToInstances)) {
            throw new \Storm\Core\StormException('Lengths of supplied arrays must be equal: %d != %d', count($Instances), count($ToInstances));
        }
        $Map = new Map();
        $InstancesUnkeyed = array_values($Instances);
        $ToInstancesUnkeyed = array_values($ToInstances);
        foreach ($InstancesUnkeyed as $Key => $Instance) {
            $Map->MapNew($Instance, $ToInstancesUnkeyed[$Key]);
        }
        return $Map;
    }

Usage Example

Ejemplo n.º 1
0
 protected function CreateRelationalStructure(Database $Database)
 {
     $this->BlogForeignKey = new Traits\ForeignKey('BlogForeignKey', Map::From([$this->BlogId], [$Database->Blogs->Id]), Traits\ForeignKeyMode::Cascade, Traits\ForeignKeyMode::Cascade);
     $this->AuthorForeignKey = new Traits\ForeignKey('AuthorForeignKey', Map::From([$this->AuthorId], [$Database->Authors->Id]), Traits\ForeignKeyMode::Cascade, Traits\ForeignKeyMode::Cascade);
 }