public function paginate($perPage = null, $columns = array())
{
$perPage = $perPage ?: $this->model->getPerPage();
$paginator = $this->query->getConnection()->getPaginator();
// Once we have the paginator we need to set the limit and offset values for
// the query so we can get the properly paginated items. Once we have an
// array of items we can create the paginator instances for the items.
$page = $paginator->getCurrentPage();
$this->query->forPage($page, $perPage);
$this->total = true;
$all = $this->get($columns)->all();
return $paginator->make($all, $this->total, $perPage);
}