/** * @param $page_id * @param $per_page * @param $current_page * @param string $page_variable * @return \Illuminate\Pagination\Paginator */ public function getVersionsForPagePaginated($page_id, $per_page, $current_page, $page_variable = 'versions_page') { $offset = ($current_page - 1) * $per_page; $versions = $this->repository->getVersionsForPage($page_id, $per_page, $offset); $version_array = []; foreach ($versions as $version) { $version_array[] = $version; } $version_count = $this->repository->getVersionCountForPage($page_id); $paginator = clone $this->paginator; $paginator->setPageName($page_variable); $results = $paginator->make($version_array, $version_count, $per_page); return $results; }