Skip to content

Commit 6353520

Browse files
authored
Prevent Undefined property: MongoDB\Laravel\Connection::$connection (#2967)
1 parent bb8977f commit 6353520

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file.
44
## [4.3.1]
55

66
* Fix memory leak when filling nested fields using dot notation by @GromNaN in [#2962](https://github.com/mongodb/laravel-mongodb/pull/2962)
7+
* Fix PHP error when accessing the connection after disconnect by @SanderMuller in [#2967](https://github.com/mongodb/laravel-mongodb/pull/2967)
78

89
## [4.3.0] - 2024-04-26
910

src/Connection.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ public function ping(): void
208208
/** @inheritdoc */
209209
public function disconnect()
210210
{
211-
unset($this->connection);
211+
$this->connection = null;
212212
}
213213

214214
/**

tests/ConnectionTest.php

+16
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,22 @@ public function testReconnect()
3838
$this->assertNotEquals(spl_object_hash($c1), spl_object_hash($c2));
3939
}
4040

41+
public function testDisconnectAndCreateNewConnection()
42+
{
43+
$connection = DB::connection('mongodb');
44+
$this->assertInstanceOf(Connection::class, $connection);
45+
$client = $connection->getMongoClient();
46+
$this->assertInstanceOf(Client::class, $client);
47+
$connection->disconnect();
48+
$client = $connection->getMongoClient();
49+
$this->assertNull($client);
50+
DB::purge('mongodb');
51+
$connection = DB::connection('mongodb');
52+
$this->assertInstanceOf(Connection::class, $connection);
53+
$client = $connection->getMongoClient();
54+
$this->assertInstanceOf(Client::class, $client);
55+
}
56+
4157
public function testDb()
4258
{
4359
$connection = DB::connection('mongodb');

0 commit comments

Comments
 (0)