/
home
/
sjslayjy
/
public_html
/
theweavenest
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Testing
/
Upload File
HOME
<?php namespace Illuminate\Foundation\Testing; trait DatabaseTransactions { /** * Handle database transactions on the specified connections. * * @return void */ public function beginDatabaseTransaction() { $database = $this->app->make('db'); foreach ($this->connectionsToTransact() as $name) { $connection = $database->connection($name); $dispatcher = $connection->getEventDispatcher(); $connection->unsetEventDispatcher(); $connection->beginTransaction(); $connection->setEventDispatcher($dispatcher); if ($this->app->resolved('db.transactions')) { $this->app->make('db.transactions')->callbacksShouldIgnore( $this->app->make('db.transactions')->getTransactions()->first() ); } } $this->beforeApplicationDestroyed(function () use ($database) { foreach ($this->connectionsToTransact() as $name) { $connection = $database->connection($name); $dispatcher = $connection->getEventDispatcher(); $connection->unsetEventDispatcher(); $connection->rollBack(); $connection->setEventDispatcher($dispatcher); $connection->disconnect(); } }); } /** * The database connections that should have transactions. * * @return array */ protected function connectionsToTransact() { return property_exists($this, 'connectionsToTransact') ? $this->connectionsToTransact : [null]; } }