function db_transaction

Same name in other branches
  1. 7.x 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

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);
}

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