SortedMiddleware
class SortedMiddleware extends Collection (View source)
Traits
Properties
Methods
Create a new collection instance if the value isn't one already.
Wrap the given value in a collection if applicable.
Get the underlying items from the given collection if applicable.
Create a new collection by invoking the callback a given amount of times.
Alias for the "avg" method.
Alias for the "contains" method.
Determine if an item exists, using strict comparison.
Execute a callback over each nested chunk of items.
Determine if all items pass the given truth test.
Get the first item by the given key value pair.
Run a map over each nested chunk of items.
Run a grouping map over the items.
Map a collection and flatten the result by a single level.
Get the min value of a given key.
Get the max value of a given key.
"Paginate" the collection by slicing it into a smaller collection.
Partition the collection into two arrays using the given callback or key.
Get the sum of the given values.
Apply the callback if the value is truthy.
Apply the callback if the collection is empty.
Apply the callback if the collection is not empty.
Apply the callback if the value is falsy.
Apply the callback unless the collection is empty.
Apply the callback unless the collection is not empty.
Filter items by the given key value pair.
Filter items where the value for the given key is null.
Filter items where the value for the given key is not null.
Filter items by the given key value pair using strict comparison.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Filter items such that the value of the given key is between the given values.
Filter items such that the value of the given key is not between the given values.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Filter the items, removing any items that don't match the given type(s).
Pass the collection to the given callback and return the result.
Pass the collection through a series of callable pipes and return the result.
Pass the collection to the given callback and then return it.
Reduce the collection to a single value.
Reduce the collection to multiple aggregate values.
Reduce the collection to multiple aggregate values.
Reduce an associative collection to a single value.
Create a collection of all elements that do not pass a given truth test.
Return only unique items from the collection array using strict comparison.
Get a CachingIterator instance.
Indicate that the model's string representation should be escaped when __toString is invoked.
Add a method to the list of proxied methods.
Results array of items from Collection or Arrayable.
Get an operator checker callback.
Determine if the given value is callable, but not a string.
Get a value retrieving callback.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new Sorted Middleware container.
Create a collection with the given range.
Get the average value of a given key.
Determine if an item exists in the collection.
Determine if an item is not contained in the collection.
Cross join with the given lists, returning all possible permutations.
Get the items in the collection that are not present in the given items.
Get the items in the collection that are not present in the given items, using the callback.
Get the items in the collection whose keys and values are not present in the given items.
Get the items in the collection whose keys and values are not present in the given items, using the callback.
Get the items in the collection whose keys are not present in the given items.
Get the items in the collection whose keys are not present in the given items, using the callback.
Retrieve duplicate items from the collection.
Retrieve duplicate items from the collection using strict comparison.
Get the comparison function to detect duplicates.
Get all items except for those with the specified keys.
Get the first item from the collection passing the given truth test.
Get a flattened array of the items in the collection.
Get an item from the collection by key.
Get an item from the collection by key or add it to collection if it does not exist.
Group an associative array by a field or using a callback.
Key an associative array by a field or using a callback.
Concatenate values of a given key as a string.
Intersect the collection with the given items by key.
Join all items from the collection using a string. The final items can use a separate glue string.
Get the last item from the collection.
Get the values of a given key.
Run an associative map over each of the items.
Recursively merge the collection with the given items.
Create a collection by using this collection for keys and another for its values.
Create a new collection consisting of every n-th element.
Push an item onto the beginning of the collection.
Push all of the given items onto the collection.
Get and remove an item from the collection.
Get one or a specified number of items randomly from the collection.
Recursively replace the collection items with the given items.
Search the collection for a given value and return the corresponding key if successful.
Create chunks representing a "sliding window" view of the items in the collection.
Skip items in the collection until the given condition is met.
Skip items in the collection while the given condition is met.
Slice the underlying collection array.
Split a collection into a certain number of groups.
Split a collection into a certain number of groups, and fill the first groups completely.
Get the first item in the collection, but only if exactly one item exists. Otherwise, throw an exception.
Get the first item in the collection but throw an exception if no matching items exist.
Chunk the collection into chunks with a callback.
Sort through each item with a callback.
Sort the collection using the given callback.
Sort the collection using multiple comparisons.
Sort the collection in descending order using the given callback.
Sort the collection keys.
Sort the collection keys in descending order.
Sort the collection keys using a callback.
Splice a portion of the underlying collection array.
Take items in the collection until the given condition is met.
Take items in the collection while the given condition is met.
Transform each item in the collection using a callback.
Return only unique items from the collection array.
Pad collection to the specified length with a value.
Count the number of items in the collection by a field or using a callback.
Sort the middlewares by the given priority map.
Calculate the priority map index of the middleware.
Resolve the middleware names to look for in the priority array.
Splice a middleware into a new position and remove the old entry.
Details
static EnumeratesValues
make(mixed $items = [])
Create a new collection instance if the value isn't one already.
static EnumeratesValues
wrap(mixed $value)
Wrap the given value in a collection if applicable.
static array
unwrap(array|EnumeratesValues $value)
Get the underlying items from the given collection if applicable.
static EnumeratesValues
empty()
Create a new instance with no items.
static EnumeratesValues
times(int $number, callable $callback = null)
Create a new collection by invoking the callback a given amount of times.
mixed
average(callable|string|null $callback = null)
Alias for the "avg" method.
bool
some(mixed $key, mixed $operator = null, mixed $value = null)
Alias for the "contains" method.
bool
containsStrict(mixed $key, mixed $value = null)
Determine if an item exists, using strict comparison.
void
dd(mixed ...$args)
Dump the items and end the script.
$this
dump()
Dump the items.
$this
each(callable $callback)
Execute a callback over each item.
EnumeratesValues
eachSpread(callable $callback)
Execute a callback over each nested chunk of items.
bool
every(string|callable $key, mixed $operator = null, mixed $value = null)
Determine if all items pass the given truth test.
mixed
firstWhere(string $key, mixed $operator = null, mixed $value = null)
Get the first item by the given key value pair.
bool
isNotEmpty()
Determine if the collection is not empty.
EnumeratesValues
mapSpread(callable $callback)
Run a map over each nested chunk of items.
EnumeratesValues
mapToGroups(callable $callback)
Run a grouping map over the items.
The callback should return an associative array with a single key/value pair.
EnumeratesValues
flatMap(callable $callback)
Map a collection and flatten the result by a single level.
EnumeratesValues
mapInto(string $class)
Map the values into a new class.
mixed
min(callable|string|null $callback = null)
Get the min value of a given key.
mixed
max(callable|string|null $callback = null)
Get the max value of a given key.
EnumeratesValues
forPage(int $page, int $perPage)
"Paginate" the collection by slicing it into a smaller collection.
EnumeratesValues
partition(callable|string $key, mixed $operator = null, mixed $value = null)
Partition the collection into two arrays using the given callback or key.
mixed
sum(callable|string|null $callback = null)
Get the sum of the given values.
EnumeratesValues|mixed
when(bool|mixed $value, callable $callback = null, callable $default = null)
Apply the callback if the value is truthy.
EnumeratesValues|mixed
whenEmpty(callable $callback, callable $default = null)
Apply the callback if the collection is empty.
EnumeratesValues|mixed
whenNotEmpty(callable $callback, callable $default = null)
Apply the callback if the collection is not empty.
EnumeratesValues|mixed
unless(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is falsy.
EnumeratesValues|mixed
unlessEmpty(callable $callback, callable $default = null)
Apply the callback unless the collection is empty.
EnumeratesValues|mixed
unlessNotEmpty(callable $callback, callable $default = null)
Apply the callback unless the collection is not empty.
EnumeratesValues
where(string $key, mixed $operator = null, mixed $value = null)
Filter items by the given key value pair.
EnumeratesValues
whereNull(string|null $key = null)
Filter items where the value for the given key is null.
EnumeratesValues
whereNotNull(string|null $key = null)
Filter items where the value for the given key is not null.
EnumeratesValues
whereStrict(string $key, mixed $value)
Filter items by the given key value pair using strict comparison.
EnumeratesValues
whereIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
EnumeratesValues
whereInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
EnumeratesValues
whereBetween(string $key, array $values)
Filter items such that the value of the given key is between the given values.
EnumeratesValues
whereNotBetween(string $key, array $values)
Filter items such that the value of the given key is not between the given values.
EnumeratesValues
whereNotIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
EnumeratesValues
whereNotInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
EnumeratesValues
whereInstanceOf(string|string[] $type)
Filter the items, removing any items that don't match the given type(s).
mixed
pipe(callable $callback)
Pass the collection to the given callback and return the result.
mixed
pipeInto(string $class)
Pass the collection into a new class.
mixed
pipeThrough(callable[] $pipes)
Pass the collection through a series of callable pipes and return the result.
$this
tap(callable $callback)
Pass the collection to the given callback and then return it.
mixed
reduce(callable $callback, mixed $initial = null)
Reduce the collection to a single value.
array
reduceMany(callable $callback, mixed ...$initial)
deprecated
deprecated
Reduce the collection to multiple aggregate values.
array
reduceSpread(callable $callback, mixed ...$initial)
Reduce the collection to multiple aggregate values.
mixed
reduceWithKeys(callable $callback, mixed $initial = null)
Reduce an associative collection to a single value.
EnumeratesValues
reject(callable|mixed $callback = true)
Create a collection of all elements that do not pass a given truth test.
EnumeratesValues
uniqueStrict(string|callable|null $key = null)
Return only unique items from the collection array using strict comparison.
Collection
collect()
Collect the values into a collection.
array
toArray()
Get the collection of items as a plain array.
array
jsonSerialize()
Convert the object into something JSON serializable.
string
toJson(int $options = 0)
Get the collection of items as JSON.
CachingIterator
getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)
Get a CachingIterator instance.
string
__toString()
Convert the collection to its string representation.
$this
escapeWhenCastingToString(bool $escape = true)
Indicate that the model's string representation should be escaped when __toString is invoked.
static void
proxy(string $method)
Add a method to the list of proxied methods.
mixed
__get(string $key)
Dynamically access collection proxies.
protected array
getArrayableItems(mixed $items)
Results array of items from Collection or Arrayable.
protected Closure
operatorForWhere(string $key, string|null $operator = null, mixed $value = null)
Get an operator checker callback.
protected bool
useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
protected callable
valueRetriever(callable|string|null $value)
Get a value retrieving callback.
protected Closure
equality(mixed $value)
Make a function to check an item's equality.
protected Closure
negate(Closure $callback)
Make a function using another function, by negating its result.
protected Closure
identity()
Make a function that returns what's passed to it.
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static void
flushMacros()
Flush the existing macros.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
void
__construct(array $priorityMap, Collection|array $middlewares)
Create a new Sorted Middleware container.
static Enumerable
range(int $from, int $to)
Create a collection with the given range.
array
all()
Get all of the items in the collection.
LazyCollection
lazy()
Get a lazy collection for the items in this collection.
mixed
avg(callable|string|null $callback = null)
Get the average value of a given key.
mixed
median(string|array|null $key = null)
Get the median of a given key.
array|null
mode(string|array|null $key = null)
Get the mode of a given key.
Enumerable
collapse()
Collapse the collection of items into a single array.
bool
contains(mixed $key, mixed $operator = null, mixed $value = null)
Determine if an item exists in the collection.
bool
doesntContain(mixed $key, mixed $operator = null, mixed $value = null)
Determine if an item is not contained in the collection.
Enumerable
crossJoin(mixed ...$lists)
Cross join with the given lists, returning all possible permutations.
Enumerable
diff(mixed $items)
Get the items in the collection that are not present in the given items.
Enumerable
diffUsing(mixed $items, callable $callback)
Get the items in the collection that are not present in the given items, using the callback.
Enumerable
diffAssoc(mixed $items)
Get the items in the collection whose keys and values are not present in the given items.
Enumerable
diffAssocUsing(mixed $items, callable $callback)
Get the items in the collection whose keys and values are not present in the given items, using the callback.
Enumerable
diffKeys(mixed $items)
Get the items in the collection whose keys are not present in the given items.
Enumerable
diffKeysUsing(mixed $items, callable $callback)
Get the items in the collection whose keys are not present in the given items, using the callback.
Enumerable
duplicates(callable|string|null $callback = null, bool $strict = false)
Retrieve duplicate items from the collection.
Enumerable
duplicatesStrict(callable|string|null $callback = null)
Retrieve duplicate items from the collection using strict comparison.
protected Closure
duplicateComparator(bool $strict)
Get the comparison function to detect duplicates.
Enumerable
except(mixed $keys)
Get all items except for those with the specified keys.
Enumerable
filter(callable $callback = null)
Run a filter over each of the items.
mixed
first(callable $callback = null, mixed $default = null)
Get the first item from the collection passing the given truth test.
Enumerable
flatten(int $depth = INF)
Get a flattened array of the items in the collection.
Enumerable
flip()
Flip the items in the collection.
$this
forget(string|int|array $keys)
Remove an item from the collection by key.
mixed
get(mixed $key, mixed $default = null)
Get an item from the collection by key.
mixed
getOrPut(mixed $key, mixed $value)
Get an item from the collection by key or add it to collection if it does not exist.
Enumerable
groupBy(array|callable|string $groupBy, bool $preserveKeys = false)
Group an associative array by a field or using a callback.
Enumerable
keyBy(callable|string $keyBy)
Key an associative array by a field or using a callback.
bool
has(mixed $key)
Determine if an item exists in the collection by key.
bool
hasAny(mixed $key)
Determine if any of the keys exist in the collection.
string
implode(string $value, string|null $glue = null)
Concatenate values of a given key as a string.
Enumerable
intersect(mixed $items)
Intersect the collection with the given items.
Enumerable
intersectByKeys(mixed $items)
Intersect the collection with the given items by key.
bool
isEmpty()
Determine if the collection is empty or not.
bool
containsOneItem()
Determine if the collection contains a single item.
string
join(string $glue, string $finalGlue = '')
Join all items from the collection using a string. The final items can use a separate glue string.
Enumerable
keys()
Get the keys of the collection items.
mixed
last(callable $callback = null, mixed $default = null)
Get the last item from the collection.
Enumerable
pluck(string|array $value, string|null $key = null)
Get the values of a given key.
Enumerable
map(callable $callback)
Run a map over each of the items.
Enumerable
mapToDictionary(callable $callback)
Run a dictionary map over the items.
The callback should return an associative array with a single key/value pair.
Enumerable
mapWithKeys(callable $callback)
Run an associative map over each of the items.
The callback should return an associative array with a single key/value pair.
Enumerable
merge(mixed $items)
Merge the collection with the given items.
Enumerable
mergeRecursive(mixed $items)
Recursively merge the collection with the given items.
Enumerable
combine(mixed $values)
Create a collection by using this collection for keys and another for its values.
Enumerable
union(mixed $items)
Union the collection with the given items.
Enumerable
nth(int $step, int $offset = 0)
Create a new collection consisting of every n-th element.
Enumerable
only(mixed $keys)
Get the items with the specified keys.
mixed
pop(int $count = 1)
Get and remove the last N items from the collection.
$this
prepend(mixed $value, mixed $key = null)
Push an item onto the beginning of the collection.
$this
push(mixed ...$values)
Push one or more items onto the end of the collection.
Enumerable
concat(iterable $source)
Push all of the given items onto the collection.
mixed
pull(mixed $key, mixed $default = null)
Get and remove an item from the collection.
$this
put(mixed $key, mixed $value)
Put an item in the collection by key.
Enumerable|mixed
random(int|null $number = null)
Get one or a specified number of items randomly from the collection.
Enumerable
replace(mixed $items)
Replace the collection items with the given items.
Enumerable
replaceRecursive(mixed $items)
Recursively replace the collection items with the given items.
Enumerable
reverse()
Reverse items order.
mixed
search(mixed $value, bool $strict = false)
Search the collection for a given value and return the corresponding key if successful.
mixed
shift(int $count = 1)
Get and remove the first N items from the collection.
Enumerable
shuffle(int|null $seed = null)
Shuffle the items in the collection.
Collection
sliding(int $size = 2, int $step = 1)
Create chunks representing a "sliding window" view of the items in the collection.
Enumerable
skip(int $count)
Skip the first {$count} items.
Enumerable
skipUntil(mixed $value)
Skip items in the collection until the given condition is met.
Enumerable
skipWhile(mixed $value)
Skip items in the collection while the given condition is met.
Enumerable
slice(int $offset, int|null $length = null)
Slice the underlying collection array.
Enumerable
split(int $numberOfGroups)
Split a collection into a certain number of groups.
Collection
splitIn(int $numberOfGroups)
Split a collection into a certain number of groups, and fill the first groups completely.
mixed
sole(mixed $key = null, mixed $operator = null, mixed $value = null)
Get the first item in the collection, but only if exactly one item exists. Otherwise, throw an exception.
mixed
firstOrFail(mixed $key = null, mixed $operator = null, mixed $value = null)
Get the first item in the collection but throw an exception if no matching items exist.
Enumerable
chunk(int $size)
Chunk the collection into chunks of the given size.
Enumerable
chunkWhile(callable $callback)
Chunk the collection into chunks with a callback.
Enumerable
sort(callable|null|int $callback = null)
Sort through each item with a callback.
Enumerable
sortDesc(int $options = SORT_REGULAR)
Sort items in descending order.
Enumerable
sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
protected Collection
sortByMany(array $comparisons = [])
Sort the collection using multiple comparisons.
Enumerable
sortByDesc(callable|string $callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
Enumerable
sortKeys(int $options = SORT_REGULAR, bool $descending = false)
Sort the collection keys.
Enumerable
sortKeysDesc(int $options = SORT_REGULAR)
Sort the collection keys in descending order.
Collection
sortKeysUsing(callable $callback)
Sort the collection keys using a callback.
Collection
splice(int $offset, int|null $length = null, mixed $replacement = [])
Splice a portion of the underlying collection array.
Enumerable
take(int $limit)
Take the first or last {$limit} items.
Enumerable
takeUntil(mixed $value)
Take items in the collection until the given condition is met.
Enumerable
takeWhile(mixed $value)
Take items in the collection while the given condition is met.
$this
transform(callable $callback)
Transform each item in the collection using a callback.
Collection
undot()
Convert a flatten "dot" notation array into an expanded array.
Enumerable
unique(string|callable|null $key = null, bool $strict = false)
Return only unique items from the collection array.
Enumerable
values()
Reset the keys on the underlying array.
Enumerable
zip(mixed $items)
Zip the collection together with one or more arrays.
e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); => [[1, 4], [2, 5], [3, 6]]
Enumerable
pad(int $size, mixed $value)
Pad collection to the specified length with a value.
ArrayIterator
getIterator()
Get an iterator for the items.
int
count()
Count the number of items in the collection.
Enumerable
countBy(callable|string $countBy = null)
Count the number of items in the collection by a field or using a callback.
$this
add(mixed $item)
Add an item to the collection.
Collection
toBase()
Get a base Support collection instance from this collection.
bool
offsetExists(mixed $key)
Determine if an item exists at an offset.
mixed
offsetGet(mixed $key)
Get an item at a given offset.
void
offsetSet(mixed $key, mixed $value)
Set the item at a given offset.
void
offsetUnset(mixed $key)
Unset the item at a given offset.
protected array
sortMiddleware(array $priorityMap, array $middlewares)
Sort the middlewares by the given priority map.
Each call to this method makes one discrete middleware movement if necessary.
protected int|null
priorityMapIndex(array $priorityMap, string $middleware)
Calculate the priority map index of the middleware.
protected Generator
middlewareNames(string $middleware)
Resolve the middleware names to look for in the priority array.
protected array
moveMiddleware(array $middlewares, int $from, int $to)
Splice a middleware into a new position and remove the old entry.