function db_transaction in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/includes/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
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. E.g. $injected_database->startTransaction($name);
See also
\Drupal\Core\Database\Connection::startTransaction()
\Drupal\Core\Database\Connection::defaultOptions()
Related topics
5 calls to db_transaction()
- MenuRouterRebuildSubscriber::menuLinksRebuild in core/
lib/ Drupal/ Core/ EventSubscriber/ MenuRouterRebuildSubscriber.php - Perform menu-specific rebuilding.
- TransactionTest::testTransactionStacking in core/
modules/ system/ src/ Tests/ Database/ TransactionTest.php - Tests transaction stacking, commit, and rollback.
- TransactionTest::testTransactionWithDdlStatement in core/
modules/ system/ src/ Tests/ Database/ TransactionTest.php - Tests the compatibility of transactions with DDL statements.
- TransactionTest::transactionInnerLayer in core/
modules/ system/ src/ Tests/ Database/ TransactionTest.php - Creates an "inner layer" transaction.
- TransactionTest::transactionOuterLayer in core/
modules/ system/ src/ Tests/ Database/ TransactionTest.php - Encapsulates a transaction's "inner layer" with an "outer layer".
File
- core/
includes/ database.inc, line 313 - 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);
}