PhpBench\Extensions\Dbal\Storage\Driver\Dbal\Persister::insertMultiple PHP Метод

insertMultiple() приватный Метод

private insertMultiple ( Doctrine\DBAL\Connection $conn, $tableName, array $datas )
$conn Doctrine\DBAL\Connection
$datas array
    private function insertMultiple(Connection $conn, $tableName, array $datas)
    {
        if (empty($datas)) {
            return;
        }
        $dataSets = array_values($datas);
        $firstData = current($datas);
        $columnNames = array_keys($firstData);
        $placeholders = sprintf('(%s)', implode(', ', array_fill(0, count($columnNames), '?')));
        $values = [];
        foreach ($dataSets as $dataSet) {
            $values = array_merge($values, array_values($dataSet));
        }
        $sql = sprintf('INSERT INTO %s (%s) VALUES %s', $tableName, implode(', ', $columnNames), implode(', ', array_fill(0, count($dataSets), $placeholders)));
        $stmt = $conn->prepare($sql);
        $stmt->execute($values);
    }