Added support for specifying columns when paginating.

This commit is contained in:
Taylor Otwell 2011-07-26 08:24:32 -05:00
parent 8cea023256
commit 989ba6743b
1 changed files with 15 additions and 1 deletions

View File

@ -458,12 +458,26 @@ private function aggregate($aggregator, $column)
* Get paginated query results.
*
* @param int $per_page
* @param array $columns
* @return Paginator
*/
public function paginate($per_page)
public function paginate($per_page, $columns = array('*'))
{
$select = $this->select;
$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);
return \System\Paginator::make($this->for_page($current_page, $per_page)->get(), $total, $per_page);