W3cubDocs

/Drupal 8

function db_transaction

db_transaction($name = NULL, array $options = array())

Returns a new transaction object for the active database.

Parameters

string $name: Optional name of the transaction.

array $options: An array of options to control how the transaction operates:

  • target: The database target name.

Return value

\Drupal\Core\Database\Transaction A new Transaction object for this connection.

Deprecated

as of Drupal 8.0.x, will be removed in Drupal 9.0.0. Instead, get a database connection injected into your service from the container and call startTransaction() on it. For example, $injected_database->startTransaction($name);

See also

\Drupal\Core\Database\Connection::startTransaction()

\Drupal\Core\Database\Connection::defaultOptions()

Related topics

Database abstraction layer
Allow the use of different database servers using the same code base.

File

core/includes/database.inc, line 318
Core systems for the database layer.

Code

function db_transaction($name = NULL, array $options = array()) {
  if (empty($options['target'])) {
    $options['target'] = 'default';
  }
  return Database::getConnection($options['target'])->startTransaction($name);
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!includes!database.inc/function/db_transaction/8.1.x