Added support for specifying columns when paginating.
This commit is contained in:
parent
8cea023256
commit
989ba6743b
|
@ -458,12 +458,26 @@ private function aggregate($aggregator, $column)
|
||||||
* Get paginated query results.
|
* Get paginated query results.
|
||||||
*
|
*
|
||||||
* @param int $per_page
|
* @param int $per_page
|
||||||
|
* @param array $columns
|
||||||
* @return Paginator
|
* @return Paginator
|
||||||
*/
|
*/
|
||||||
public function paginate($per_page)
|
public function paginate($per_page, $columns = array('*'))
|
||||||
{
|
{
|
||||||
|
$select = $this->select;
|
||||||
|
|
||||||
$total = $this->count();
|
$total = $this->count();
|
||||||
|
|
||||||
|
// Every query clears the SELECT clause, so we store the contents of the clause
|
||||||
|
// before executing the count query and then put the contents back in afterwards.
|
||||||
|
if ( ! is_null($select))
|
||||||
|
{
|
||||||
|
$this->select = $select;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->select($columns);
|
||||||
|
}
|
||||||
|
|
||||||
$current_page = \System\Paginator::page($total, $per_page);
|
$current_page = \System\Paginator::page($total, $per_page);
|
||||||
|
|
||||||
return \System\Paginator::make($this->for_page($current_page, $per_page)->get(), $total, $per_page);
|
return \System\Paginator::make($this->for_page($current_page, $per_page)->get(), $total, $per_page);
|
||||||
|
|
Loading…
Reference in New Issue