diff --git a/src/Jenssegers/Mongodb/Queue/Failed/MongoFailedJobProvider.php b/src/Jenssegers/Mongodb/Queue/Failed/MongoFailedJobProvider.php index a02639f88..9067a2838 100644 --- a/src/Jenssegers/Mongodb/Queue/Failed/MongoFailedJobProvider.php +++ b/src/Jenssegers/Mongodb/Queue/Failed/MongoFailedJobProvider.php @@ -46,6 +46,10 @@ public function find($id) { $job = $this->getTable()->find($id); + if (!$job) { + return; + } + $job['id'] = (string) $job['_id']; return (object) $job; diff --git a/tests/QueueTest.php b/tests/QueueTest.php index 6ff26d35c..21306bfb1 100644 --- a/tests/QueueTest.php +++ b/tests/QueueTest.php @@ -55,4 +55,12 @@ public function testQueueJobExpired(): void $job->delete(); $this->assertEquals(0, Queue::getDatabase()->table(Config::get('queue.connections.database.table'))->count()); } + + public function testFindFailJobNull(): void + { + Config::set('queue.failed.database', 'mongodb'); + $provider = app('queue.failer'); + + $this->assertNull($provider->find(1)); + } }