Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace 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];}}