/** * @return mixed */ public function search() { $query = Input::get('q'); $order_by = null !== Input::get('field') ? Input::get('field') : 'id'; $sort = null !== Input::get('sort') ? Input::get('sort') : 'asc'; $user = $this->users->searchUsers($query, true, $order_by, $sort); $total = $user->count(); $pageName = 'page'; $per_page = config('access.users.default_per_page'); $page = null; //Create custom pagination $users = new LengthAwarePaginator($user, $total, $per_page, $page, ['path' => Paginator::resolveCurrentPath(), 'pageName' => $pageName]); if ($users->count() == 0) { return redirect()->route('admin.access.users.index')->withFlashDanger('Your search term "' . $query . '" not found!'); } return view('backend.access.index', compact('users'))->withRoles($this->roles->getAllRoles('id', 'asc', true)); }
/** * @param LengthAwarePaginator $paginatorData * @param $data * * @return mixed */ public function respondWithPagination(LengthAwarePaginator $paginatorData, $data) { $data = array_merge($data, ['paginator' => ['total_count' => $paginatorData->total(), 'total_pages' => ceil($paginatorData->total() / $paginatorData->perPage()), 'current_page' => $paginatorData->currentPage(), 'limit' => $paginatorData->count(), 'next_page_url' => $paginatorData->nextPageUrl()]]); return $this->respond($data); }
/** * Redirect to page 1 if the paginator is empty. * @param \Illuminate\Pagination\LengthAwarePaginator $paginator * @return \Illuminate\Support\Facades\Redirect */ protected function checkPagination(LengthAwarePaginator $paginator) { if ($paginator->count() == 0 && !is_null(Input::get('page')) && (int) Input::get('page') != 1) { App::abort(Response::HTTP_TEMPORARY_REDIRECT, '', ['Location' => route(Route::current()->getName(), Input::except('page') + ['page' => 1])]); } }
public function paginate(LengthAwarePaginator $paginator) { return ["count" => $paginator->count(), "current_page" => $paginator->currentPage(), "last_page" => $paginator->lastPage(), "per_page" => $paginator->perPage(), "total" => $paginator->total()]; }
/** * @param LengthAwarePaginator $paginated_list * @return string */ public function tableNavStatus(LengthAwarePaginator $paginated_list) { return trans('global.table_list.results.status', ['start' => $paginated_list->perPage() * ($paginated_list->currentPage() - 1) + 1, 'stop' => $paginated_list->count() + ($paginated_list->currentPage() - 1) * $paginated_list->perPage(), 'total' => $paginated_list->total()]); }