Файл: vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactionsManager.php
Строк: 70
<?php
namespace IlluminateFoundationTesting;
use IlluminateDatabaseDatabaseTransactionsManager as BaseManager;
class DatabaseTransactionsManager extends BaseManager
{
/**
* Register a transaction callback.
*
* @param callable $callback
* @return void
*/
public function addCallback($callback)
{
// If there are no transactions, we'll run the callbacks right away. Also, we'll run it
// right away when we're in test mode and we only have the wrapping transaction. For
// every other case, we'll queue up the callback to run after the commit happens.
if ($this->callbackApplicableTransactions()->count() === 0) {
return $callback();
}
$this->pendingTransactions->last()->addCallback($callback);
}
/**
* Get the transactions that are applicable to callbacks.
*
* @return IlluminateSupportCollection<int, IlluminateDatabaseDatabaseTransactionRecord>
*/
public function callbackApplicableTransactions()
{
return $this->pendingTransactions->skip(1)->values();
}
/**
* Determine if after commit callbacks should be executed for the given transaction level.
*
* @param int $level
* @return bool
*/
public function afterCommitCallbacksShouldBeExecuted($level)
{
return $level === 1;
}
}