You are here

function db_transaction in Drupal 8

Same name and namespace in other branches
  1. 7 includes/database/database.inc \db_transaction()

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

in drupal:8.0.0 and is removed from 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

https://www.drupal.org/node/2993033

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

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

Related topics

1 call to db_transaction()
DatabaseLegacyTest::testDbTransaction in core/tests/Drupal/KernelTests/Core/Database/DatabaseLegacyTest.php
Tests deprecation of the db_transaction() function.

File

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

Code

function db_transaction($name = NULL, array $options = []) {
  @trigger_error('db_transaction is deprecated in drupal:8.0.0. It will be removed from 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 https://www.drupal.org/node/2993033', E_USER_DEPRECATED);
  return Database::getConnection(_db_get_target($options))
    ->startTransaction($name);
}