Skip to content

Commit 68ffc3d

Browse files
authored
Fix infinity loop on transaction committed
1 parent 71a99f1 commit 68ffc3d

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/Illuminate/Database/DatabaseTransactionsManager.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,12 @@ public function rollback($connection, $level)
5858
*/
5959
public function commit($connection)
6060
{
61-
$this->transactions = $this->transactions->reject(function ($transaction) use ($connection) {
62-
if ($transaction->connection == $connection) {
63-
$transaction->executeCallbacks();
61+
[$passes, $fails] = $this->transactions->partition(function ($transaction) use ($connection) {
62+
return $transaction->connection == $connection;
63+
});
6464

65-
return true;
66-
}
67-
68-
return false;
69-
})->values();
65+
$this->transactions = $fails->values();
66+
$passes->map->executeCallbacks();
7067
}
7168

7269
/**

0 commit comments

Comments
 (0)