function db_transaction in Drupal 8
Same name and namespace in other branches
- 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);
}