Вход Регистрация
Файл: 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;
    }
}
Онлайн: 1
Реклама