Storm\Drivers\Platforms\Mysql\PrimaryKeys\UUIDGenerator::FillPrimaryKeys PHP Метод

FillPrimaryKeys() публичный Метод

public FillPrimaryKeys ( Storm\Drivers\Base\Relational\Queries\IConnection $Connection, array $UnkeyedRows )
$Connection Storm\Drivers\Base\Relational\Queries\IConnection
$UnkeyedRows array
    public function FillPrimaryKeys(IConnection $Connection, array $UnkeyedRows)
    {
        if (count($UnkeyedRows) === 0) {
            return;
        }
        $PrimaryKeyColumns = $this->GetPrimaryKeyColumns();
        $QueryBuilder = $Connection->QueryBuilder();
        $UUIDStatment = 'SELECT UUID()';
        $UUIDStatments = array_fill(0, count($UnkeyedRows) * count($PrimaryKeyColumns) - 1, $UUIDStatment);
        array_unshift($UUIDStatments, $UUIDStatment . ' AS `UUID`');
        $QueryBuilder->Append(implode(' UNION ALL ', $UUIDStatments));
        $UUIDRows = $QueryBuilder->Build()->Execute()->FetchAll();
        $Count = 0;
        foreach ($UnkeyedRows as $UnkeyedRow) {
            foreach ($PrimaryKeyColumns as $PrimaryKeyColumn) {
                $UUID = $UUIDRows[$Count]['UUID'];
                $UnkeyedRow[$PrimaryKeyColumn] = $PrimaryKeyColumn->ToPersistenceValue($UUID);
                $Count++;
            }
        }
    }
UUIDGenerator