function Connection::startTransaction

Returns a new DatabaseTransaction object on this connection.

@todo in drupal:11.0.0, push to the TransactionManager directly.

Parameters

string $name: (optional) The name of the savepoint.

Return value

\Drupal\Core\Database\Transaction A Transaction object.

See also

\Drupal\Core\Database\Transaction

5 methods override Connection::startTransaction()
Connection::startTransaction in core/modules/sqlite/src/Driver/Database/sqlite/Connection.php
Returns a new DatabaseTransaction object on this connection.
Connection::startTransaction in core/modules/mysql/src/Driver/Database/mysql/Connection.php
Returns a new DatabaseTransaction object on this connection.
Connection::startTransaction in core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
Returns a new DatabaseTransaction object on this connection.
Connection::startTransaction in core/tests/fixtures/database_drivers/custom/fake/Connection.php
Returns a new DatabaseTransaction object on this connection.
StubConnection::startTransaction in core/tests/Drupal/Tests/Core/Database/Stub/StubConnection.php
Returns a new DatabaseTransaction object on this connection.

File

core/lib/Drupal/Core/Database/Connection.php, line 1478

Class

Connection
Base Database API class.

Namespace

Drupal\Core\Database

Code

public function startTransaction($name = '') {
  if ($this->transactionManager()) {
    return $this->transactionManager()
      ->push($name);
  }
  $class = $this->getDriverClass('Transaction');
  return new $class($this, $name);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.