Skip to content

Commit 79cb569

Browse files
authored
Merge pull request mongodb#1949 from divine/fix_truncate_on_models
Fix truncate on models
2 parents ef147ea + 4e92dcc commit 79cb569

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

src/Jenssegers/Mongodb/Query/Builder.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,11 @@ public function from($collection, $as = null)
700700
*/
701701
public function truncate()
702702
{
703-
$result = $this->collection->drop();
703+
$options = [
704+
'typeMap' => ['root' => 'object', 'document' => 'object'],
705+
];
706+
707+
$result = $this->collection->drop($options);
704708

705709
return (1 == (int) $result->ok);
706710
}

tests/ModelTest.php

+9
Original file line numberDiff line numberDiff line change
@@ -572,4 +572,13 @@ public function testChunkById(): void
572572

573573
$this->assertEquals(3, $count);
574574
}
575+
576+
public function testTruncateModel()
577+
{
578+
User::create(['name' => 'John Doe']);
579+
580+
User::truncate();
581+
582+
$this->assertEquals(0, User::count());
583+
}
575584
}

tests/QueryBuilderTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ public function testDelete()
175175
public function testTruncate()
176176
{
177177
DB::collection('users')->insert(['name' => 'John Doe']);
178-
DB::collection('users')->truncate();
178+
$result = DB::collection('users')->truncate();
179+
$this->assertEquals(1, $result);
179180
$this->assertEquals(0, DB::collection('users')->count());
180181
}
181182

0 commit comments

Comments
 (0)