PHP 8.3.31
Preview: DatabaseTransactions.php Size: 1.61 KB
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php

<?php

namespace Illuminate\Foundation\Testing;

trait DatabaseTransactions
{
    /**
     * Handle database transactions on the specified connections.
     *
     * @return void
     */
    public function beginDatabaseTransaction()
    {
        $database = $this->app->make('db');

        $connections = $this->connectionsToTransact();

        $this->app->instance('db.transactions', $transactionsManager = new DatabaseTransactionsManager($connections));

        foreach ($connections as $name) {
            $connection = $database->connection($name);
            $connection->setTransactionManager($transactionsManager);
            $dispatcher = $connection->getEventDispatcher();

            $connection->unsetEventDispatcher();
            $connection->beginTransaction();
            $connection->setEventDispatcher($dispatcher);
        }

        $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];
    }
}

Directory Contents

Dirs: 2 × Files: 12

Name Size Perms Modified Actions
Concerns DIR
- drwxrwxrwx 2025-09-17 06:52:55
Edit Download
Traits DIR
- drwxrwxrwx 2025-09-17 06:52:55
Edit Download
1.36 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.61 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.83 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
6.44 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.15 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.03 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
516 B lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.80 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
344 B lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.21 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
500 B lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
5.73 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).