Paginator
class Paginator extends AbstractPaginator implements Arrayable, ArrayAccess, Countable, IteratorAggregate, Jsonable, JsonSerializable, Paginator (View source)
Traits
Properties
protected Collection | $items | All of the items being paginated. |
from AbstractPaginator |
protected int | $perPage | The number of items to be shown per page. |
from AbstractPaginator |
protected int | $currentPage | The current page being "viewed". |
from AbstractPaginator |
protected string | $path | The base path to assign to all URLs. |
from AbstractPaginator |
protected array | $query | The query parameters to add to all URLs. |
from AbstractPaginator |
protected string|null | $fragment | The URL fragment to add to all URLs. |
from AbstractPaginator |
protected string | $pageName | The query string variable used to store the page. |
from AbstractPaginator |
int | $onEachSide | The number of links to display on each side of current page link. |
from AbstractPaginator |
protected array | $options | The paginator options. |
from AbstractPaginator |
static protected Closure | $currentPathResolver | The current path resolver callback. |
from AbstractPaginator |
static protected Closure | $currentPageResolver | The current page resolver callback. |
from AbstractPaginator |
static protected Closure | $viewFactoryResolver | The view factory resolver callback. |
from AbstractPaginator |
static string | $defaultView | The default pagination view. |
from AbstractPaginator |
static string | $defaultSimpleView | The default "simple" pagination view. |
from AbstractPaginator |
protected | $hasMore | Determine if there are more items in the data source. |
Methods
Forward a method call to the given object.
Throw a bad method call exception for the given method.
Determine if the given value is a valid page number.
Get / set the URL fragment to be appended to URLs.
Add a set of query string values to the paginator.
Add a query string value to the paginator.
Load a set of relationships onto the mixed relationship collection.
Determine if there are enough items to split into multiple pages.
Set the query string variable used to store the page.
Set the number of links to display on each side of current page link.
Resolve the current request path or return the default value.
Resolve the current page or return the default value.
Get an instance of the view factory from the resolver.
Set the default "simple" pagination view.
Indicate that Bootstrap 3 styling should be used for generated links.
Make dynamic calls into the collection.
Render the contents of the paginator when casting to string.
Create a new paginator instance.
Get the current page for the request.
Set the items for the paginator.
Get the URL for the next page.
Render the paginator using the given view.
Render the paginator using the given view.
Manually indicate that the paginator does have more pages.
Determine if there are more items in the data source.
Get the instance as an array.
Convert the object into something JSON serializable.
Convert the object to its JSON representation.
Details
protected mixed
forwardCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object.
static protected void
throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method.
protected bool
isValidPageNumber(int $page)
Determine if the given value is a valid page number.
string|null
previousPageUrl()
Get the URL for the previous page.
array
getUrlRange(int $start, int $end)
Create a range of pagination URLs.
string
url(int $page)
Get the URL for a given page number.
$this|string|null
fragment(string|null $fragment = null)
Get / set the URL fragment to be appended to URLs.
$this
appends(array|string|null $key, string|null $value = null)
Add a set of query string values to the paginator.
protected $this
appendArray(array $keys)
Add an array of query string values.
protected $this
addQuery(string $key, string $value)
Add a query string value to the paginator.
protected string
buildFragment()
Build the full fragment portion of a URL.
$this
loadMorph(string $relation, array $relations)
Load a set of relationships onto the mixed relationship collection.
array
items()
Get the slice of items being paginated.
int
firstItem()
Get the number of the first item in the slice.
int
lastItem()
Get the number of the last item in the slice.
int
perPage()
Get the number of items shown per page.
bool
hasPages()
Determine if there are enough items to split into multiple pages.
bool
onFirstPage()
Determine if the paginator is on the first page.
int
currentPage()
Get the current page.
string
getPageName()
Get the query string variable used to store the page.
$this
setPageName(string $name)
Set the query string variable used to store the page.
$this
withPath(string $path)
Set the base path to assign to all URLs.
$this
setPath(string $path)
Set the base path to assign to all URLs.
$this
onEachSide(int $count)
Set the number of links to display on each side of current page link.
string|null
path()
Get the base path for paginator generated URLs.
static string
resolveCurrentPath(string $default = '/')
Resolve the current request path or return the default value.
static void
currentPathResolver(Closure $resolver)
Set the current request path resolver callback.
static int
resolveCurrentPage(string $pageName = 'page', int $default = 1)
Resolve the current page or return the default value.
static void
currentPageResolver(Closure $resolver)
Set the current page resolver callback.
static Factory
viewFactory()
Get an instance of the view factory from the resolver.
static void
viewFactoryResolver(Closure $resolver)
Set the view factory resolver callback.
static void
defaultView(string $view)
Set the default pagination view.
static void
defaultSimpleView(string $view)
Set the default "simple" pagination view.
static void
useBootstrapThree()
Indicate that Bootstrap 3 styling should be used for generated links.
ArrayIterator
getIterator()
Get an iterator for the items.
bool
isEmpty()
Determine if the list of items is empty.
bool
isNotEmpty()
Determine if the list of items is not empty.
int
count()
Get the number of items for the current page.
Collection
getCollection()
Get the paginator's underlying collection.
$this
setCollection(Collection $collection)
Set the paginator's underlying collection.
array
getOptions()
Get the paginator options.
bool
offsetExists(mixed $key)
Determine if the given item exists.
mixed
offsetGet(mixed $key)
Get the item at the given offset.
void
offsetSet(mixed $key, mixed $value)
Set the item at the given offset.
void
offsetUnset(mixed $key)
Unset the item at the given key.
string
toHtml()
Render the contents of the paginator to HTML.
mixed
__call(string $method, array $parameters)
Make dynamic calls into the collection.
string
__toString()
Render the contents of the paginator when casting to string.
void
__construct(mixed $items, int $perPage, int|null $currentPage = null, array $options = [])
Create a new paginator instance.
protected int
setCurrentPage(int $currentPage)
Get the current page for the request.
protected void
setItems(mixed $items)
Set the items for the paginator.
string|null
nextPageUrl()
Get the URL for the next page.
string
links(string|null $view = null, array $data = [])
Render the paginator using the given view.
string
render(string|null $view = null, array $data = [])
Render the paginator using the given view.
$this
hasMorePagesWhen(bool $hasMore = true)
Manually indicate that the paginator does have more pages.
bool
hasMorePages()
Determine if there are more items in the data source.
array
toArray()
Get the instance as an array.
array
jsonSerialize()
Convert the object into something JSON serializable.
string
toJson(int $options = 0)
Convert the object to its JSON representation.