diff --git a/src/Illuminate/Database/DatabaseTransactionsManager.php b/src/Illuminate/Database/DatabaseTransactionsManager.php index 156514de6020..4cd5a9347de8 100755 --- a/src/Illuminate/Database/DatabaseTransactionsManager.php +++ b/src/Illuminate/Database/DatabaseTransactionsManager.php @@ -58,15 +58,12 @@ public function rollback($connection, $level) */ public function commit($connection) { - $this->transactions = $this->transactions->reject(function ($transaction) use ($connection) { - if ($transaction->connection == $connection) { - $transaction->executeCallbacks(); + [$passes, $fails] = $this->transactions->partition(function ($transaction) use ($connection) { + return $transaction->connection == $connection; + }); - return true; - } - - return false; - })->values(); + $this->transactions = $fails->values(); + $passes->map->executeCallbacks(); } /**