CursorPaginator
class CursorPaginator extends AbstractCursorPaginator implements Arrayable, ArrayAccess, Countable, IteratorAggregate, Jsonable, JsonSerializable, CursorPaginator (View source)
Traits
Properties
protected Collection | $items | All of the items being paginated. |
from AbstractCursorPaginator |
protected int | $perPage | The number of items to be shown per page. |
from AbstractCursorPaginator |
protected string | $path | The base path to assign to all URLs. |
from AbstractCursorPaginator |
protected array | $query | The query parameters to add to all URLs. |
from AbstractCursorPaginator |
protected string|null | $fragment | The URL fragment to add to all URLs. |
from AbstractCursorPaginator |
protected string | $cursorName | The cursor string variable used to store the page. |
from AbstractCursorPaginator |
protected Cursor|null | $cursor | The current cursor. |
from AbstractCursorPaginator |
protected array | $parameters | The paginator parameters for the cursor. |
from AbstractCursorPaginator |
protected array | $options | The paginator options. |
from AbstractCursorPaginator |
static protected Closure | $currentCursorResolver | The current cursor resolver callback. |
from AbstractCursorPaginator |
protected | $hasMore | Indicates whether there are more items in the data source. |
Methods
Forward a method call to the given object.
Forward a method call to the given object, returning $this if the forwarded call returned itself.
Throw a bad method call exception for the given method.
Call the given Closure with this instance then return the instance.
Get the "cursor" that points to the previous set of items.
Get the "cursor" that points to the next set of items.
Get a cursor instance for the given item.
Get the cursor parameter value from a pivot model if applicable.
Ensure the parameter is a primitive type.
Get / set the URL fragment to be appended to URLs.
Add a set of query string values to the paginator.
Add all current query string values to the paginator.
Add a query string value to the paginator.
Load a set of relationships onto the mixed relationship collection.
Load a set of relationship counts onto the mixed relationship collection.
Transform each item in the slice of items using a callback.
Get the query string variable used to store the cursor.
Set the query string variable used to store the cursor.
Resolve the current cursor or return the default value.
Get an instance of the view factory from the resolver.
Set the item at the given offset.
Make dynamic calls into the collection.
Render the contents of the paginator when casting to a string.
Create a new paginator instance.
Set the items for the paginator.
Render the paginator using the given view.
Render the paginator using the given view.
Determine if there are more items in the data source.
Determine if there are enough items to split into multiple pages.
Determine if the paginator is on the first page.
Determine if the paginator is on the last page.
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.
protected mixed
forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object, returning $this if the forwarded call returned itself.
static protected void
throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method.
tap($callback = null)
Call the given Closure with this instance then return the instance.
string
url(Cursor|null $cursor)
Get the URL for a given cursor.
string|null
previousPageUrl()
Get the URL for the previous page.
string|null
nextPageUrl()
The URL for the next page, or null.
Cursor|null
previousCursor()
Get the "cursor" that points to the previous set of items.
Cursor|null
nextCursor()
Get the "cursor" that points to the next set of items.
Cursor
getCursorForItem(ArrayAccess|stdClass $item, bool $isNext = true)
Get a cursor instance for the given item.
array
getParametersForItem(ArrayAccess|stdClass $item)
Get the cursor parameters for a given object.
protected string|null
getPivotParameterForItem(ArrayAccess|stdClass $item, string $parameterName)
Get the cursor parameter value from a pivot model if applicable.
protected mixed
ensureParameterIsPrimitive(mixed $parameter)
Ensure the parameter is a primitive type.
This can resolve issues that arise the developer uses a value object for an attribute.
$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.
$this
withQueryString()
Add all current query string values to the paginator.
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.
$this
loadMorphCount(string $relation, array $relations)
Load a set of relationship counts onto the mixed relationship collection.
array
items()
Get the slice of items being paginated.
$this
through(callable $callback)
Transform each item in the slice of items using a callback.
int
perPage()
Get the number of items shown per page.
Cursor|null
cursor()
Get the current cursor being paginated.
string
getCursorName()
Get the query string variable used to store the cursor.
$this
setCursorName(string $name)
Set the query string variable used to store the cursor.
$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.
string|null
path()
Get the base path for paginator generated URLs.
static Cursor|null
resolveCurrentCursor(string $cursorName = 'cursor', $default = null)
Resolve the current cursor or return the default value.
static void
currentCursorResolver(Closure $resolver)
Set the current cursor resolver callback.
static Factory
viewFactory()
Get an instance of the view factory from the resolver.
Traversable
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 a string.
void
__construct(mixed $items, int $perPage, Cursor|null $cursor = null, array $options = [])
Create a new paginator instance.
protected void
setItems(mixed $items)
Set the items for the paginator.
Htmlable
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.
bool
hasMorePages()
Determine if there are more items in the data source.
bool
hasPages()
Determine if there are enough items to split into multiple pages.
bool
onFirstPage()
Determine if the paginator is on the first page.
bool
onLastPage()
Determine if the paginator is on the last page.
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.