From 39a5c38101b3a7b0fba44eb70d52060d96e529de Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Thu, 9 Mar 2023 15:00:22 +0100 Subject: [PATCH] Revert "[10.x] allow override of the Builder `paginate()` total (#46336)" (#46406) This reverts commit df0135bcba14b442bb62f48d5a627445a349c141. --- src/Illuminate/Database/Eloquent/Builder.php | 5 ++-- src/Illuminate/Database/Query/Builder.php | 5 ++-- tests/Database/DatabaseQueryBuilderTest.php | 24 -------------------- 3 files changed, 4 insertions(+), 30 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index c0e17ad1b072..a476b32ee8c4 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -889,16 +889,15 @@ public function pluck($column, $key = null) * @param array|string $columns * @param string $pageName * @param int|null $page - * @param \Closure|int|null $total * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator * * @throws \InvalidArgumentException */ - public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null, $total = null) + public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) { $page = $page ?: Paginator::resolveCurrentPage($pageName); - $total = value($total) ?? $this->toBase()->getCountForPagination(); + $total = $this->toBase()->getCountForPagination(); $perPage = ($perPage instanceof Closure ? $perPage($total) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index ec169507e0fb..d1965d6881c3 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -2727,14 +2727,13 @@ protected function runSelect() * @param array|string $columns * @param string $pageName * @param int|null $page - * @param \Closure|int|null $total * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator */ - public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null, $total = null) + public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null) { $page = $page ?: Paginator::resolveCurrentPage($pageName); - $total = value($total) ?? $this->getCountForPagination(); + $total = $this->getCountForPagination(); $perPage = $perPage instanceof Closure ? $perPage($total) : $perPage; diff --git a/tests/Database/DatabaseQueryBuilderTest.php b/tests/Database/DatabaseQueryBuilderTest.php index f6ceb3cd6fb6..25568d5ec069 100755 --- a/tests/Database/DatabaseQueryBuilderTest.php +++ b/tests/Database/DatabaseQueryBuilderTest.php @@ -4450,30 +4450,6 @@ public function testPaginateWithSpecificColumns() ]), $result); } - public function testPaginateWithTotalOverride() - { - $perPage = 16; - $columns = ['id', 'name']; - $pageName = 'page-name'; - $page = 1; - $builder = $this->getMockQueryBuilder(); - $path = 'http://foo.bar?page=3'; - - $results = collect([['id' => 3, 'name' => 'Taylor'], ['id' => 5, 'name' => 'Mohamed']]); - - $builder->shouldReceive('getCountForPagination')->never(); - $builder->shouldReceive('forPage')->once()->with($page, $perPage)->andReturnSelf(); - $builder->shouldReceive('get')->once()->andReturn($results); - - Paginator::currentPathResolver(function () use ($path) { - return $path; - }); - - $result = $builder->paginate($perPage, $columns, $pageName, $page, 10); - - $this->assertEquals(10, $result->total()); - } - public function testCursorPaginate() { $perPage = 16;