yii\db\Connection::transaction PHP Метод

transaction() публичный Метод

Executes callback provided in a transaction.
public transaction ( callable $callback, string | null $isolationLevel = null ) : mixed
$callback callable a valid PHP callback that performs the job. Accepts connection instance as parameter.
$isolationLevel string | null The isolation level to use for this transaction. See [[Transaction::begin()]] for details.
Результат mixed result of callback function
    public function transaction(callable $callback, $isolationLevel = null)
    {
        $transaction = $this->beginTransaction($isolationLevel);
        $level = $transaction->level;
        try {
            $result = call_user_func($callback, $this);
            if ($transaction->isActive && $transaction->level === $level) {
                $transaction->commit();
            }
        } catch (\Exception $e) {
            if ($transaction->isActive && $transaction->level === $level) {
                $transaction->rollBack();
            }
            throw $e;
        }
        return $result;
    }