Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ffc9662

Browse files
committed
Merge pull request laravel#8364 from jarektkaczyk/5.0-simplePaginate-on-BTW-and-HMT-relations
Add simplePaginate to BelongsToMany and HasManyThrough
2 parents c5c5996 + b5debe2 commit ffc9662

2 files changed

Lines changed: 34 additions & 2 deletions

File tree

src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public function get($columns = array('*'))
173173
*
174174
* @param int $perPage
175175
* @param array $columns
176-
* @return \Illuminate\Pagination\Paginator
176+
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
177177
*/
178178
public function paginate($perPage = null, $columns = array('*'))
179179
{
@@ -186,6 +186,24 @@ public function paginate($perPage = null, $columns = array('*'))
186186
return $paginator;
187187
}
188188

189+
/**
190+
* Paginate the given query into a simple paginator.
191+
*
192+
* @param int $perPage
193+
* @param array $columns
194+
* @return \Illuminate\Contracts\Pagination\Paginator
195+
*/
196+
public function simplePaginate($perPage = null, $columns = array('*'))
197+
{
198+
$this->query->addSelect($this->getSelectColumns($columns));
199+
200+
$paginator = $this->query->simplePaginate($perPage, $columns);
201+
202+
$this->hydratePivotRelation($paginator->items());
203+
204+
return $paginator;
205+
}
206+
189207
/**
190208
* Chunk the results of the query.
191209
*

src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ protected function getSelectColumns(array $columns = ['*'])
304304
*
305305
* @param int $perPage
306306
* @param array $columns
307-
* @return \Illuminate\Pagination\Paginator
307+
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
308308
*/
309309
public function paginate($perPage = null, $columns = ['*'])
310310
{
@@ -313,6 +313,20 @@ public function paginate($perPage = null, $columns = ['*'])
313313
return $this->query->paginate($perPage, $columns);
314314
}
315315

316+
/**
317+
* Paginate the given query into a simple paginator.
318+
*
319+
* @param int $perPage
320+
* @param array $columns
321+
* @return \Illuminate\Contracts\Pagination\Paginator
322+
*/
323+
public function simplePaginate($perPage = null, $columns = ['*'])
324+
{
325+
$this->query->addSelect($this->getSelectColumns($columns));
326+
327+
return $this->query->simplePaginate($perPage, $columns);
328+
}
329+
316330
/**
317331
* Get the key for comparing against the parent key in "has" query.
318332
*

0 commit comments

Comments
 (0)