class Collection extends Collection implements QueueableCollection (View source)

Traits

Properties

protected bool $escapeWhenCastingToString

Indicates that the object's string representation should be escaped when __toString is invoked.

from  EnumeratesValues
static protected array<int,string> $proxies

The methods that can be proxied.

from  EnumeratesValues
TValue> read-only $average from  EnumeratesValues
TValue> read-only $avg from  EnumeratesValues
TValue> read-only $contains from  EnumeratesValues
TValue> read-only $doesntContain from  EnumeratesValues
TValue> read-only $each from  EnumeratesValues
TValue> read-only $every from  EnumeratesValues
TValue> read-only $filter from  EnumeratesValues
TValue> read-only $first from  EnumeratesValues
TValue> read-only $flatMap from  EnumeratesValues
TValue> read-only $groupBy from  EnumeratesValues
TValue> read-only $keyBy from  EnumeratesValues
TValue> read-only $map from  EnumeratesValues
TValue> read-only $max from  EnumeratesValues
TValue> read-only $min from  EnumeratesValues
TValue> read-only $partition from  EnumeratesValues
TValue> read-only $percentage from  EnumeratesValues
TValue> read-only $reject from  EnumeratesValues
TValue> read-only $skipUntil from  EnumeratesValues
TValue> read-only $skipWhile from  EnumeratesValues
TValue> read-only $some from  EnumeratesValues
TValue> read-only $sortBy from  EnumeratesValues
TValue> read-only $sortByDesc from  EnumeratesValues
TValue> read-only $sum from  EnumeratesValues
TValue> read-only $takeUntil from  EnumeratesValues
TValue> read-only $takeWhile from  EnumeratesValues
TValue> read-only $unique from  EnumeratesValues
TValue> read-only $unless from  EnumeratesValues
TValue> read-only $until from  EnumeratesValues
TValue> read-only $when from  EnumeratesValues
static protected array $macros

The registered string macros.

from  Macroable
protected $items from  Collection

Methods

$this|TWhenReturnType
when($value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

$this|TUnlessReturnType
unless($value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

static 
make($items = [])

No description

static 
wrap($value)

No description

static 
unwrap($value)

No description

empty()

Create a new instance with no items.

static 
times($number, callable|null $callback = null)

No description

float|int|null
avg($callback = null)

Get the average value of a given key.

float|int|null
average($callback = null)

Alias for the "avg" method.

bool
some($key, mixed $operator = null, mixed $value = null)

Alias for the "contains" method.

never
dd(mixed ...$args)

Dump the given arguments and terminate execution.

$this
dump(mixed ...$args)

Dump the items.

$this
each(callable $callback)

Execute a callback over each item.

eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

bool
every($key, mixed $operator = null, mixed $value = null)

Determine if all items pass the given truth test.

TValue|null
firstWhere(callable|string $key, mixed $operator = null, mixed $value = null)

Get the first item by the given key value pair.

value($key, $default = null)

No description

ensure($type)

No description

bool
isNotEmpty()

Determine if the collection is not empty.

mapSpread(callable $callback)

No description

mapToGroups(callable $callback)

No description

flatMap(callable $callback)

No description

mapInto($class)

No description

mixed
min($callback = null)

Get the min value of a given key.

mixed
max($callback = null)

Get the max value of a given key.

forPage(int $page, int $perPage)

"Paginate" the collection by slicing it into a smaller collection.

partition($key, $operator = null, $value = null)

No description

float|null
percentage(callable $callback, int $precision = 2)

Calculate the percentage of items that pass a given truth test.

mixed
sum($callback = null)

Get the sum of the given values.

$this|TWhenEmptyReturnType
whenEmpty(callable $callback, callable|null $default = null)

Apply the callback if the collection is empty.

$this|TWhenNotEmptyReturnType
whenNotEmpty(callable $callback, callable|null $default = null)

Apply the callback if the collection is not empty.

$this|TUnlessEmptyReturnType
unlessEmpty(callable $callback, callable|null $default = null)

Apply the callback unless the collection is empty.

$this|TUnlessNotEmptyReturnType
unlessNotEmpty(callable $callback, callable|null $default = null)

Apply the callback unless the collection is not empty.

where(callable|string $key, mixed $operator = null, mixed $value = null)

Filter items by the given key value pair.

whereNull(string|null $key = null)

Filter items where the value for the given key is null.

whereNotNull(string|null $key = null)

Filter items where the value for the given key is not null.

whereStrict(string $key, mixed $value)

Filter items by the given key value pair using strict comparison.

whereIn(string $key, Arrayable|iterable $values, bool $strict = false)

Filter items by the given key value pair.

whereInStrict(string $key, Arrayable|iterable $values)

Filter items by the given key value pair using strict comparison.

whereBetween(string $key, Arrayable|iterable $values)

Filter items such that the value of the given key is between the given values.

whereNotBetween(string $key, Arrayable|iterable $values)

Filter items such that the value of the given key is not between the given values.

whereNotIn(string $key, Arrayable|iterable $values, bool $strict = false)

Filter items by the given key value pair.

whereNotInStrict(string $key, Arrayable|iterable $values)

Filter items by the given key value pair using strict comparison.

whereInstanceOf($type)

No description

TPipeReturnType
pipe(callable $callback)

Pass the collection to the given callback and return the result.

TPipeIntoValue
pipeInto(TPipeIntoValue> $class)

Pass the collection into a new class.

mixed
pipeThrough(callable[] $callbacks)

Pass the collection through a series of callable pipes and return the result.

TReduceReturnType
reduce(callable $callback, TReduceInitial $initial = null)

Reduce the collection to a single value.

array
reduceSpread(callable $callback, mixed ...$initial)

Reduce the collection to multiple aggregate values.

TReduceWithKeysReturnType
reduceWithKeys(callable $callback, TReduceWithKeysInitial $initial = null)

Reduce an associative collection to a single value.

reject($callback = true)

Create a collection of all elements that do not pass a given truth test.

$this
tap(callable $callback)

Pass the collection to the given callback and then return it.

unique($key = null, bool $strict = false)

Return only unique items from the collection.

uniqueStrict($key = null)

Return only unique items from the collection array using strict comparison.

TValue>
collect()

Collect the values into a collection.

toArray()

No description

array
jsonSerialize()

No description

string
toJson(int $options = 0)

Get the collection of items as JSON.

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.

getArrayableItems($items)

No description

operatorForWhere(callable|string $key, string|null $operator = null, mixed $value = null)

Get an operator checker callback.

bool
useAsCallable(mixed $value)

Determine if the given value is callable, but not a string.

callable
valueRetriever(callable|string|null $value)

Get a value retrieving callback.

equality(mixed $value)

Make a function to check an item's equality.

negate(Closure $callback)

Make a function using another function, by negating its result.

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(TValue>|TValue>|null $items = [])

Create a new collection.

static Enumerable
range(int $from, int $to)

No description

array
all()

No description

TValue>
lazy()

Get a lazy collection for the items in this collection.

float|int|null
median(string|array<array-key,string>|null $key = null)

Get the median of a given key.

array<int,float|int>|null
mode(string|array<array-key,string>|null $key = null)

Get the mode of a given key.

collapse()

Collapse the collection of items into a single array.

collapseWithKeys()

No description

bool
contains($key, mixed $operator = null, mixed $value = null)

Determine if a key exists in the collection.

bool
containsStrict($key, TValue|null $value = null)

Determine if an item exists, using strict comparison.

bool
doesntContain(mixed $key, mixed $operator = null, mixed $value = null)

Determine if an item is not contained in the collection.

crossJoin(...$lists)

No description

diff(TValue>|TValue> $items)

Diff the collection with the given items.

diffUsing(TValue>|TValue> $items, callable $callback)

Get the items in the collection that are not present in the given items, using the callback.

diffAssoc(TValue>|TValue> $items)

Get the items in the collection whose keys and values are not present in the given items.

diffAssocUsing(TValue>|TValue> $items, callable $callback)

Get the items in the collection whose keys and values are not present in the given items, using the callback.

diffKeys(TKey,mixed>|TKey,mixed> $items)

Get the items in the collection whose keys are not present in the given items.

diffKeysUsing(TKey,mixed>|TKey,mixed> $items, callable $callback)

Get the items in the collection whose keys are not present in the given items, using the callback.

duplicates($callback = null, bool $strict = false)

Retrieve duplicate items from the collection.

duplicatesStrict($callback = null)

Retrieve duplicate items from the collection using strict comparison.

duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

except(TKey>|TKey> $keys)

Returns all models in the collection except the models with specified keys.

filter(callable|null $callback = null)

Run a filter over each of the items.

first(callable|null $callback = null, $default = null)

No description

flatten(int $depth = INF)

Get a flattened array of the items in the collection.

flip()

Flip the items in the collection.

$this
forget($keys)

Remove an item from the collection by key.

get($key, $default = null)

No description

getOrPut($key, $value)

No description

groupBy($groupBy, $preserveKeys = false)

No description

keyBy($keyBy)

No description

bool
has(TKey|TKey> $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($value, string|null $glue = null)

Concatenate values of a given key as a string.

intersect(TValue>|TValue> $items)

Intersect the collection with the given items.

intersectUsing(TValue>|TValue> $items, callable $callback)

Intersect the collection with the given items, using the callback.

intersectAssoc(TValue>|TValue> $items)

Intersect the collection with the given items with additional index check.

intersectAssocUsing(TValue>|TValue> $items, callable $callback)

Intersect the collection with the given items with additional index check, using the callback.

intersectByKeys(TKey,mixed>|TKey,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.

keys()

Get the keys of the collection items.

last(callable|null $callback = null, $default = null)

No description

pluck($value, $key = null)

Get an array with the values of a given key.

map(callable $callback)

No description

mapToDictionary(callable $callback)

No description

mapWithKeys(callable $callback)

No description

merge(TValue>|TValue> $items)

Merge the collection with the given items.

mergeRecursive($items)

No description

multiply(int $multiplier)

Multiply the items in the collection by the multiplier.

combine($values)

No description

union(TValue>|TValue> $items)

Union the collection with the given items.

nth(int $step, int $offset = 0)

Create a new collection consisting of every n-th element.

only(TKey>|TKey>|string $keys)

Returns only the models from the collection with the specified keys.

select(TKey>|TKey>|string|null $keys)

Select specific values from the items within the collection.

pop($count = 1)

No description

$this
prepend(TValue $value, TKey $key = null)

Push an item onto the beginning of the collection.

$this
push(TValue ...$values)

Push one or more items onto the end of the collection.

$this
unshift(TValue ...$values)

Prepend one or more items to the beginning of the collection.

concat($source)

No description

pull($key, $default = null)

No description

$this
put(TKey $key, TValue $value)

Put an item in the collection by key.

random($number = null, $preserveKeys = false)

No description

replace(TValue>|TValue> $items)

Replace the collection items with the given items.

replaceRecursive(TValue>|TValue> $items)

Recursively replace the collection items with the given items.

reverse()

Reverse items order.

TKey|bool
search($value, bool $strict = false)

Search the collection for a given value and return the corresponding key if successful.

TValue|null
before($value, bool $strict = false)

Get the item before the given item.

TValue|null
after($value, bool $strict = false)

Get the item after the given item.

shift($count = 1)

No description

shuffle()

Shuffle the items in the collection.

sliding($size = 2, $step = 1)

No description

skip(int $count)

Skip the first {$count} items.

skipUntil($value)

Skip items in the collection until the given condition is met.

skipWhile($value)

Skip items in the collection while the given condition is met.

slice(int $offset, int|null $length = null)

Slice the underlying collection array.

split($numberOfGroups)

No description

splitIn($numberOfGroups)

No description

TValue
sole($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.

TValue
firstOrFail($key = null, mixed $operator = null, mixed $value = null)

Get the first item in the collection but throw an exception if no matching items exist.

chunk($size)

No description

chunkWhile(callable $callback)

No description

sort($callback = null)

Sort through each item with a callback.

sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

sortBy($callback, int $options = SORT_REGULAR, bool $descending = false)

Sort the collection using the given callback.

sortByMany(array $comparisons = [], int $options = SORT_REGULAR)

Sort the collection using multiple comparisons.

sortByDesc($callback, int $options = SORT_REGULAR)

Sort the collection in descending order using the given callback.

sortKeys(int $options = SORT_REGULAR, bool $descending = false)

Sort the collection keys.

sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

sortKeysUsing(callable $callback)

Sort the collection keys using a callback.

splice(int $offset, int|null $length = null, TValue> $replacement = [])

Splice a portion of the underlying collection array.

take(int $limit)

Take the first or last {$limit} items.

takeUntil($value)

Take items in the collection until the given condition is met.

takeWhile($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.

dot()

Flatten a multi-dimensional associative array with dots.

undot()

Convert a flatten "dot" notation array into an expanded array.

values()

No description

zip($items)

Zip the collection together with one or more arrays.

pad($size, $value)

Pad collection to the specified length with a value.

getIterator()

Get an iterator for the items.

int
count()

Count the number of items in the collection.

countBy($countBy = null)

Count the number of items in the collection by a field or using a callback.

$this
add(TValue $item)

Add an item to the collection.

TValue>
toBase()

Get a base Support collection instance from this collection.

bool
offsetExists(TKey $key)

Determine if an item exists at an offset.

mixed
offsetGet(TKey $key)

Get an item at a given offset.

void
offsetSet(TKey|null $key, TValue $value)

Set the item at a given offset.

void
offsetUnset(TKey $key)

Unset the item at a given offset.

mixed
getDictionaryKey(mixed $attribute)

Get a dictionary key attribute - casting it to a string if necessary.

find(mixed $key, TFindDefault $default = null)

Find a model in the collection by key.

TModel
findOrFail(mixed $key)

Find a model in the collection by key or throw an exception.

$this
load($relations)

Load a set of relationships onto the collection.

$this
loadAggregate($relations, string $column, string|null $function = null)

Load a set of aggregations over relationship's column onto the collection.

$this
loadCount($relations)

Load a set of relationship counts onto the collection.

$this
loadMax($relations, string $column)

Load a set of relationship's max column values onto the collection.

$this
loadMin($relations, string $column)

Load a set of relationship's min column values onto the collection.

$this
loadSum($relations, string $column)

Load a set of relationship's column summations onto the collection.

$this
loadAvg($relations, string $column)

Load a set of relationship's average column values onto the collection.

$this
loadExists($relations)

Load a set of related existences onto the collection.

$this
loadMissing($relations)

Load a set of relationships onto the collection if they are not already eager loaded.

void
loadMissingRelation(Collection $models, array $path)

Load a relationship path if it is not already eager loaded.

$this
loadMorph(string $relation, $relations)

Load a set of relationships onto the mixed relationship collection.

$this
loadMorphCount(string $relation, $relations)

Load a set of relationship counts onto the mixed relationship collection.

array<int,array-key>
modelKeys()

Get the array of primary keys.

fresh(array<array-key,string>|string $with = [])

Reload a fresh model instance from the database for all the entities.

$this
makeHidden(array<array-key,string>|string $attributes)

Make the given, typically visible, attributes hidden across the entire collection.

$this
makeVisible(array<array-key,string>|string $attributes)

Make the given, typically hidden, attributes visible across the entire collection.

$this
setVisible(array<int,string> $visible)

Set the visible attributes across the entire collection.

$this
setHidden(array<int,string> $hidden)

Set the hidden attributes across the entire collection.

$this
append(array<array-key,string>|string $attributes)

Append an attribute across the entire collection.

TModel>
getDictionary(TModel>|null $items = null)

Get a dictionary keyed by primary keys.

string|null
getQueueableClass()

Get the type of the entities being queued.

string
getQueueableModelClass(Model $model)

Get the queueable class name for the given model.

array<int,mixed>
getQueueableIds()

Get the identifiers for all of the entities.

array<int,string>
getQueueableRelations()

Get the relationships of the entities being queued.

string|null
getQueueableConnection()

Get the connection of the entities being queued.

TModel>
toQuery()

Get the Eloquent query builder from the collection.

Details

$this|TWhenReturnType when($value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

Parameters

$value
callable|null $callback
callable|null $default

Return Value

$this|TWhenReturnType

$this|TUnlessReturnType unless($value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

Parameters

$value
callable|null $callback
callable|null $default

Return Value

$this|TUnlessReturnType

static make($items = [])

No description

Parameters

$items

static wrap($value)

No description

Parameters

$value

static unwrap($value)

No description

Parameters

$value

static EnumeratesValues empty()

Create a new instance with no items.

Return Value

EnumeratesValues

static times($number, callable|null $callback = null)

No description

Parameters

$number
callable|null $callback

float|int|null avg($callback = null)

Get the average value of a given key.

Parameters

$callback

Return Value

float|int|null

float|int|null average($callback = null)

Alias for the "avg" method.

Parameters

$callback

Return Value

float|int|null

bool some($key, mixed $operator = null, mixed $value = null)

Alias for the "contains" method.

Parameters

$key
mixed $operator
mixed $value

Return Value

bool

never dd(mixed ...$args)

Dump the given arguments and terminate execution.

Parameters

mixed ...$args

Return Value

never

$this dump(mixed ...$args)

Dump the items.

Parameters

mixed ...$args

Return Value

$this

$this each(callable $callback)

Execute a callback over each item.

Parameters

callable $callback

Return Value

$this

EnumeratesValues eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

Parameters

callable $callback

Return Value

EnumeratesValues

bool every($key, mixed $operator = null, mixed $value = null)

Determine if all items pass the given truth test.

Parameters

$key
mixed $operator
mixed $value

Return Value

bool

TValue|null firstWhere(callable|string $key, mixed $operator = null, mixed $value = null)

Get the first item by the given key value pair.

Parameters

callable|string $key
mixed $operator
mixed $value

Return Value

TValue|null

value($key, $default = null)

No description

Parameters

$key
$default

ensure($type)

No description

Parameters

$type

bool isNotEmpty()

Determine if the collection is not empty.

Return Value

bool

mapSpread(callable $callback)

No description

Parameters

callable $callback

mapToGroups(callable $callback)

No description

Parameters

callable $callback

flatMap(callable $callback)

No description

Parameters

callable $callback

mapInto($class)

No description

Parameters

$class

mixed min($callback = null)

Get the min value of a given key.

Parameters

$callback

Return Value

mixed

mixed max($callback = null)

Get the max value of a given key.

Parameters

$callback

Return Value

mixed

EnumeratesValues forPage(int $page, int $perPage)

"Paginate" the collection by slicing it into a smaller collection.

Parameters

int $page
int $perPage

Return Value

EnumeratesValues

partition($key, $operator = null, $value = null)

No description

Parameters

$key
$operator
$value

float|null percentage(callable $callback, int $precision = 2)

Calculate the percentage of items that pass a given truth test.

Parameters

callable $callback
int $precision

Return Value

float|null

mixed sum($callback = null)

Get the sum of the given values.

Parameters

$callback

Return Value

mixed

$this|TWhenEmptyReturnType whenEmpty(callable $callback, callable|null $default = null)

Apply the callback if the collection is empty.

Parameters

callable $callback
callable|null $default

Return Value

$this|TWhenEmptyReturnType

$this|TWhenNotEmptyReturnType whenNotEmpty(callable $callback, callable|null $default = null)

Apply the callback if the collection is not empty.

Parameters

callable $callback
callable|null $default

Return Value

$this|TWhenNotEmptyReturnType

$this|TUnlessEmptyReturnType unlessEmpty(callable $callback, callable|null $default = null)

Apply the callback unless the collection is empty.

Parameters

callable $callback
callable|null $default

Return Value

$this|TUnlessEmptyReturnType

$this|TUnlessNotEmptyReturnType unlessNotEmpty(callable $callback, callable|null $default = null)

Apply the callback unless the collection is not empty.

Parameters

callable $callback
callable|null $default

Return Value

$this|TUnlessNotEmptyReturnType

EnumeratesValues where(callable|string $key, mixed $operator = null, mixed $value = null)

Filter items by the given key value pair.

Parameters

callable|string $key
mixed $operator
mixed $value

Return Value

EnumeratesValues

EnumeratesValues whereNull(string|null $key = null)

Filter items where the value for the given key is null.

Parameters

string|null $key

Return Value

EnumeratesValues

EnumeratesValues whereNotNull(string|null $key = null)

Filter items where the value for the given key is not null.

Parameters

string|null $key

Return Value

EnumeratesValues

EnumeratesValues whereStrict(string $key, mixed $value)

Filter items by the given key value pair using strict comparison.

Parameters

string $key
mixed $value

Return Value

EnumeratesValues

EnumeratesValues whereIn(string $key, Arrayable|iterable $values, bool $strict = false)

Filter items by the given key value pair.

Parameters

string $key
Arrayable|iterable $values
bool $strict

Return Value

EnumeratesValues

EnumeratesValues whereInStrict(string $key, Arrayable|iterable $values)

Filter items by the given key value pair using strict comparison.

Parameters

string $key
Arrayable|iterable $values

Return Value

EnumeratesValues

EnumeratesValues whereBetween(string $key, Arrayable|iterable $values)

Filter items such that the value of the given key is between the given values.

Parameters

string $key
Arrayable|iterable $values

Return Value

EnumeratesValues

EnumeratesValues whereNotBetween(string $key, Arrayable|iterable $values)

Filter items such that the value of the given key is not between the given values.

Parameters

string $key
Arrayable|iterable $values

Return Value

EnumeratesValues

EnumeratesValues whereNotIn(string $key, Arrayable|iterable $values, bool $strict = false)

Filter items by the given key value pair.

Parameters

string $key
Arrayable|iterable $values
bool $strict

Return Value

EnumeratesValues

EnumeratesValues whereNotInStrict(string $key, Arrayable|iterable $values)

Filter items by the given key value pair using strict comparison.

Parameters

string $key
Arrayable|iterable $values

Return Value

EnumeratesValues

whereInstanceOf($type)

No description

Parameters

$type

TPipeReturnType pipe(callable $callback)

Pass the collection to the given callback and return the result.

Parameters

callable $callback

Return Value

TPipeReturnType

TPipeIntoValue pipeInto(TPipeIntoValue> $class)

Pass the collection into a new class.

Parameters

TPipeIntoValue> $class

Return Value

TPipeIntoValue

mixed pipeThrough(callable[] $callbacks)

Pass the collection through a series of callable pipes and return the result.

Parameters

callable[] $callbacks

Return Value

mixed

TReduceReturnType reduce(callable $callback, TReduceInitial $initial = null)

Reduce the collection to a single value.

Parameters

callable $callback
TReduceInitial $initial

Return Value

TReduceReturnType

array reduceSpread(callable $callback, mixed ...$initial)

Reduce the collection to multiple aggregate values.

Parameters

callable $callback
mixed ...$initial

Return Value

array

Exceptions

UnexpectedValueException

TReduceWithKeysReturnType reduceWithKeys(callable $callback, TReduceWithKeysInitial $initial = null)

Reduce an associative collection to a single value.

Parameters

callable $callback
TReduceWithKeysInitial $initial

Return Value

TReduceWithKeysReturnType

EnumeratesValues reject($callback = true)

Create a collection of all elements that do not pass a given truth test.

Parameters

$callback

Return Value

EnumeratesValues

$this tap(callable $callback)

Pass the collection to the given callback and then return it.

Parameters

callable $callback

Return Value

$this

Enumerable unique($key = null, bool $strict = false)

Return only unique items from the collection.

Parameters

$key
bool $strict

Return Value

Enumerable

EnumeratesValues uniqueStrict($key = null)

Return only unique items from the collection array using strict comparison.

Parameters

$key

Return Value

EnumeratesValues

TValue> collect()

Collect the values into a collection.

Return Value

TValue>

toArray()

No description

array jsonSerialize()

No description

Return Value

array

string toJson(int $options = 0)

Get the collection of items as JSON.

Parameters

int $options

Return Value

string

CachingIterator getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)

Get a CachingIterator instance.

Parameters

int $flags

Return Value

CachingIterator

string __toString()

Convert the collection to its string representation.

Return Value

string

$this escapeWhenCastingToString(bool $escape = true)

Indicate that the model's string representation should be escaped when __toString is invoked.

Parameters

bool $escape

Return Value

$this

static void proxy(string $method)

Add a method to the list of proxied methods.

Parameters

string $method

Return Value

void

mixed __get(string $key)

Dynamically access collection proxies.

Parameters

string $key

Return Value

mixed

Exceptions

Exception

protected getArrayableItems($items)

No description

Parameters

$items

protected Closure operatorForWhere(callable|string $key, string|null $operator = null, mixed $value = null)

Get an operator checker callback.

Parameters

callable|string $key
string|null $operator
mixed $value

Return Value

Closure

protected bool useAsCallable(mixed $value)

Determine if the given value is callable, but not a string.

Parameters

mixed $value

Return Value

bool

protected callable valueRetriever(callable|string|null $value)

Get a value retrieving callback.

Parameters

callable|string|null $value

Return Value

callable

protected equality(mixed $value)

Make a function to check an item's equality.

Parameters

mixed $value

protected Closure negate(Closure $callback)

Make a function using another function, by negating its result.

Parameters

Closure $callback

Return Value

Closure

protected identity()

Make a function that returns what's passed to it.

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static void flushMacros()

Flush the existing macros.

Return Value

void

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(TValue>|TValue>|null $items = [])

Create a new collection.

Parameters

TValue>|TValue>|null $items

Return Value

void

static Enumerable range(int $from, int $to)

No description

Parameters

int $from
int $to

Return Value

Enumerable

array all()

No description

Return Value

array

TValue> lazy()

Get a lazy collection for the items in this collection.

Return Value

TValue>

float|int|null median(string|array<array-key,string>|null $key = null)

Get the median of a given key.

Parameters

string|array<array-key,string>|null $key

Return Value

float|int|null

array<int,float|int>|null mode(string|array<array-key,string>|null $key = null)

Get the mode of a given key.

Parameters

string|array<array-key,string>|null $key

Return Value

array<int,float|int>|null

collapse()

Collapse the collection of items into a single array.

collapseWithKeys()

No description

bool contains($key, mixed $operator = null, mixed $value = null)

Determine if a key exists in the collection.

Parameters

$key
mixed $operator
mixed $value

Return Value

bool

bool containsStrict($key, TValue|null $value = null)

Determine if an item exists, using strict comparison.

Parameters

$key
TValue|null $value

Return Value

bool

bool doesntContain(mixed $key, mixed $operator = null, mixed $value = null)

Determine if an item is not contained in the collection.

Parameters

mixed $key
mixed $operator
mixed $value

Return Value

bool

crossJoin(...$lists)

No description

Parameters

...$lists

Enumerable diff(TValue>|TValue> $items)

Diff the collection with the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable diffUsing(TValue>|TValue> $items, callable $callback)

Get the items in the collection that are not present in the given items, using the callback.

Parameters

TValue>|TValue> $items
callable $callback

Return Value

Enumerable

Enumerable diffAssoc(TValue>|TValue> $items)

Get the items in the collection whose keys and values are not present in the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable diffAssocUsing(TValue>|TValue> $items, callable $callback)

Get the items in the collection whose keys and values are not present in the given items, using the callback.

Parameters

TValue>|TValue> $items
callable $callback

Return Value

Enumerable

Enumerable diffKeys(TKey,mixed>|TKey,mixed> $items)

Get the items in the collection whose keys are not present in the given items.

Parameters

TKey,mixed>|TKey,mixed> $items

Return Value

Enumerable

Enumerable diffKeysUsing(TKey,mixed>|TKey,mixed> $items, callable $callback)

Get the items in the collection whose keys are not present in the given items, using the callback.

Parameters

TKey,mixed>|TKey,mixed> $items
callable $callback

Return Value

Enumerable

Enumerable duplicates($callback = null, bool $strict = false)

Retrieve duplicate items from the collection.

Parameters

$callback
bool $strict

Return Value

Enumerable

Enumerable duplicatesStrict($callback = null)

Retrieve duplicate items from the collection using strict comparison.

Parameters

$callback

Return Value

Enumerable

protected duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

Parameters

bool $strict

Enumerable except(TKey>|TKey> $keys)

Returns all models in the collection except the models with specified keys.

Parameters

TKey>|TKey> $keys

Return Value

Enumerable

Enumerable filter(callable|null $callback = null)

Run a filter over each of the items.

Parameters

callable|null $callback

Return Value

Enumerable

first(callable|null $callback = null, $default = null)

No description

Parameters

callable|null $callback
$default

Enumerable flatten(int $depth = INF)

Get a flattened array of the items in the collection.

Parameters

int $depth

Return Value

Enumerable

flip()

Flip the items in the collection.

$this forget($keys)

Remove an item from the collection by key.

\Illuminate\Contracts\Support\Arrayable<array-key, TValue>|iterable<array-key, TKey>|TKey $keys

Parameters

$keys

Return Value

$this

get($key, $default = null)

No description

Parameters

$key
$default

getOrPut($key, $value)

No description

Parameters

$key
$value

groupBy($groupBy, $preserveKeys = false)

No description

Parameters

$groupBy
$preserveKeys

keyBy($keyBy)

No description

Parameters

$keyBy

bool has(TKey|TKey> $key)

Determine if an item exists in the collection by key.

Parameters

TKey|TKey> $key

Return Value

bool

bool hasAny(mixed $key)

Determine if any of the keys exist in the collection.

Parameters

mixed $key

Return Value

bool

string implode($value, string|null $glue = null)

Concatenate values of a given key as a string.

Parameters

$value
string|null $glue

Return Value

string

Enumerable intersect(TValue>|TValue> $items)

Intersect the collection with the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable intersectUsing(TValue>|TValue> $items, callable $callback)

Intersect the collection with the given items, using the callback.

Parameters

TValue>|TValue> $items
callable $callback

Return Value

Enumerable

Enumerable intersectAssoc(TValue>|TValue> $items)

Intersect the collection with the given items with additional index check.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable intersectAssocUsing(TValue>|TValue> $items, callable $callback)

Intersect the collection with the given items with additional index check, using the callback.

Parameters

TValue>|TValue> $items
callable $callback

Return Value

Enumerable

Enumerable intersectByKeys(TKey,mixed>|TKey,mixed> $items)

Intersect the collection with the given items by key.

Parameters

TKey,mixed>|TKey,mixed> $items

Return Value

Enumerable

bool isEmpty()

Determine if the collection is empty or not.

Return Value

bool

bool containsOneItem()

Determine if the collection contains a single item.

Return Value

bool

string join(string $glue, string $finalGlue = '')

Join all items from the collection using a string. The final items can use a separate glue string.

Parameters

string $glue
string $finalGlue

Return Value

string

keys()

Get the keys of the collection items.

last(callable|null $callback = null, $default = null)

No description

Parameters

callable|null $callback
$default

pluck($value, $key = null)

Get an array with the values of a given key.

Parameters

$value
$key

map(callable $callback)

No description

Parameters

callable $callback

mapToDictionary(callable $callback)

No description

Parameters

callable $callback

mapWithKeys(callable $callback)

No description

Parameters

callable $callback

Enumerable merge(TValue>|TValue> $items)

Merge the collection with the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

mergeRecursive($items)

No description

Parameters

$items

Collection multiply(int $multiplier)

Multiply the items in the collection by the multiplier.

Parameters

int $multiplier

Return Value

Collection

combine($values)

No description

Parameters

$values

Enumerable union(TValue>|TValue> $items)

Union the collection with the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable nth(int $step, int $offset = 0)

Create a new collection consisting of every n-th element.

Parameters

int $step
int $offset

Return Value

Enumerable

Enumerable only(TKey>|TKey>|string $keys)

Returns only the models from the collection with the specified keys.

Parameters

TKey>|TKey>|string $keys

Return Value

Enumerable

Collection select(TKey>|TKey>|string|null $keys)

Select specific values from the items within the collection.

Parameters

TKey>|TKey>|string|null $keys

Return Value

Collection

pop($count = 1)

No description

Parameters

$count

$this prepend(TValue $value, TKey $key = null)

Push an item onto the beginning of the collection.

Parameters

TValue $value
TKey $key

Return Value

$this

$this push(TValue ...$values)

Push one or more items onto the end of the collection.

Parameters

TValue ...$values

Return Value

$this

$this unshift(TValue ...$values)

Prepend one or more items to the beginning of the collection.

Parameters

TValue ...$values

Return Value

$this

concat($source)

No description

Parameters

$source

pull($key, $default = null)

No description

Parameters

$key
$default

$this put(TKey $key, TValue $value)

Put an item in the collection by key.

Parameters

TKey $key
TValue $value

Return Value

$this

random($number = null, $preserveKeys = false)

No description

Parameters

$number
$preserveKeys

Enumerable replace(TValue>|TValue> $items)

Replace the collection items with the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable replaceRecursive(TValue>|TValue> $items)

Recursively replace the collection items with the given items.

Parameters

TValue>|TValue> $items

Return Value

Enumerable

Enumerable reverse()

Reverse items order.

Return Value

Enumerable

Search the collection for a given value and return the corresponding key if successful.

Parameters

$value
bool $strict

Return Value

TKey|bool

TValue|null before($value, bool $strict = false)

Get the item before the given item.

Parameters

$value
bool $strict

Return Value

TValue|null

TValue|null after($value, bool $strict = false)

Get the item after the given item.

Parameters

$value
bool $strict

Return Value

TValue|null

shift($count = 1)

No description

Parameters

$count

Enumerable shuffle()

Shuffle the items in the collection.

Return Value

Enumerable

sliding($size = 2, $step = 1)

No description

Parameters

$size
$step

Enumerable skip(int $count)

Skip the first {$count} items.

Parameters

int $count

Return Value

Enumerable

Enumerable skipUntil($value)

Skip items in the collection until the given condition is met.

Parameters

$value

Return Value

Enumerable

Enumerable skipWhile($value)

Skip items in the collection while the given condition is met.

Parameters

$value

Return Value

Enumerable

Enumerable slice(int $offset, int|null $length = null)

Slice the underlying collection array.

Parameters

int $offset
int|null $length

Return Value

Enumerable

split($numberOfGroups)

No description

Parameters

$numberOfGroups

splitIn($numberOfGroups)

No description

Parameters

$numberOfGroups

TValue sole($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.

Parameters

$key
mixed $operator
mixed $value

Return Value

TValue

Exceptions

ItemNotFoundException
MultipleItemsFoundException

TValue firstOrFail($key = null, mixed $operator = null, mixed $value = null)

Get the first item in the collection but throw an exception if no matching items exist.

Parameters

$key
mixed $operator
mixed $value

Return Value

TValue

Exceptions

ItemNotFoundException

chunk($size)

No description

Parameters

$size

chunkWhile(callable $callback)

No description

Parameters

callable $callback

Enumerable sort($callback = null)

Sort through each item with a callback.

Parameters

$callback

Return Value

Enumerable

Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

Parameters

int $options

Return Value

Enumerable

Enumerable sortBy($callback, int $options = SORT_REGULAR, bool $descending = false)

Sort the collection using the given callback.

Parameters

$callback
int $options
bool $descending

Return Value

Enumerable

protected Collection sortByMany(array $comparisons = [], int $options = SORT_REGULAR)

Sort the collection using multiple comparisons.

Parameters

array $comparisons
int $options

Return Value

Collection

Enumerable sortByDesc($callback, int $options = SORT_REGULAR)

Sort the collection in descending order using the given callback.

Parameters

$callback
int $options

Return Value

Enumerable

Enumerable sortKeys(int $options = SORT_REGULAR, bool $descending = false)

Sort the collection keys.

Parameters

int $options
bool $descending

Return Value

Enumerable

Enumerable sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

Parameters

int $options

Return Value

Enumerable

Enumerable sortKeysUsing(callable $callback)

Sort the collection keys using a callback.

Parameters

callable $callback

Return Value

Enumerable

Collection splice(int $offset, int|null $length = null, TValue> $replacement = [])

Splice a portion of the underlying collection array.

Parameters

int $offset
int|null $length
TValue> $replacement

Return Value

Collection

Enumerable take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Enumerable

Enumerable takeUntil($value)

Take items in the collection until the given condition is met.

Parameters

$value

Return Value

Enumerable

Enumerable takeWhile($value)

Take items in the collection while the given condition is met.

Parameters

$value

Return Value

Enumerable

$this transform(callable $callback)

Transform each item in the collection using a callback.

Parameters

callable $callback

Return Value

$this

Collection dot()

Flatten a multi-dimensional associative array with dots.

Return Value

Collection

Enumerable undot()

Convert a flatten "dot" notation array into an expanded array.

Return Value

Enumerable

values()

No description

zip($items)

Zip the collection together with one or more arrays.

Parameters

$items

pad($size, $value)

Pad collection to the specified length with a value.

Parameters

$size
$value

Traversable getIterator()

Get an iterator for the items.

Return Value

Traversable

int count()

Count the number of items in the collection.

Return Value

int

countBy($countBy = null)

Count the number of items in the collection by a field or using a callback.

Parameters

$countBy

$this add(TValue $item)

Add an item to the collection.

Parameters

TValue $item

Return Value

$this

TValue> toBase()

Get a base Support collection instance from this collection.

Return Value

TValue>

bool offsetExists(TKey $key)

Determine if an item exists at an offset.

Parameters

TKey $key

Return Value

bool

mixed offsetGet(TKey $key)

Get an item at a given offset.

Parameters

TKey $key

Return Value

mixed

void offsetSet(TKey|null $key, TValue $value)

Set the item at a given offset.

Parameters

TKey|null $key
TValue $value

Return Value

void

void offsetUnset(TKey $key)

Unset the item at a given offset.

Parameters

TKey $key

Return Value

void

protected mixed getDictionaryKey(mixed $attribute)

Get a dictionary key attribute - casting it to a string if necessary.

Parameters

mixed $attribute

Return Value

mixed

Exceptions

InvalidArgumentException

find(mixed $key, TFindDefault $default = null)

Find a model in the collection by key.

Parameters

mixed $key
TFindDefault $default

TModel findOrFail(mixed $key)

Find a model in the collection by key or throw an exception.

Parameters

mixed $key

Return Value

TModel

Exceptions

ModelNotFoundException

$this load($relations)

Load a set of relationships onto the collection.

Parameters

$relations

Return Value

$this

$this loadAggregate($relations, string $column, string|null $function = null)

Load a set of aggregations over relationship's column onto the collection.

Parameters

$relations
string $column
string|null $function

Return Value

$this

$this loadCount($relations)

Load a set of relationship counts onto the collection.

Parameters

$relations

Return Value

$this

$this loadMax($relations, string $column)

Load a set of relationship's max column values onto the collection.

Parameters

$relations
string $column

Return Value

$this

$this loadMin($relations, string $column)

Load a set of relationship's min column values onto the collection.

Parameters

$relations
string $column

Return Value

$this

$this loadSum($relations, string $column)

Load a set of relationship's column summations onto the collection.

Parameters

$relations
string $column

Return Value

$this

$this loadAvg($relations, string $column)

Load a set of relationship's average column values onto the collection.

Parameters

$relations
string $column

Return Value

$this

$this loadExists($relations)

Load a set of related existences onto the collection.

Parameters

$relations

Return Value

$this

$this loadMissing($relations)

Load a set of relationships onto the collection if they are not already eager loaded.

Parameters

$relations

Return Value

$this

protected void loadMissingRelation(Collection $models, array $path)

Load a relationship path if it is not already eager loaded.

Parameters

Collection $models
array $path

Return Value

void

$this loadMorph(string $relation, $relations)

Load a set of relationships onto the mixed relationship collection.

Parameters

string $relation
$relations

Return Value

$this

$this loadMorphCount(string $relation, $relations)

Load a set of relationship counts onto the mixed relationship collection.

Parameters

string $relation
$relations

Return Value

$this

array<int,array-key> modelKeys()

Get the array of primary keys.

Return Value

array<int,array-key>

Collection fresh(array<array-key,string>|string $with = [])

Reload a fresh model instance from the database for all the entities.

Parameters

array<array-key,string>|string $with

Return Value

Collection

$this makeHidden(array<array-key,string>|string $attributes)

Make the given, typically visible, attributes hidden across the entire collection.

Parameters

array<array-key,string>|string $attributes

Return Value

$this

$this makeVisible(array<array-key,string>|string $attributes)

Make the given, typically hidden, attributes visible across the entire collection.

Parameters

array<array-key,string>|string $attributes

Return Value

$this

$this setVisible(array<int,string> $visible)

Set the visible attributes across the entire collection.

Parameters

array<int,string> $visible

Return Value

$this

$this setHidden(array<int,string> $hidden)

Set the hidden attributes across the entire collection.

Parameters

array<int,string> $hidden

Return Value

$this

$this append(array<array-key,string>|string $attributes)

Append an attribute across the entire collection.

Parameters

array<array-key,string>|string $attributes

Return Value

$this

TModel> getDictionary(TModel>|null $items = null)

Get a dictionary keyed by primary keys.

Parameters

TModel>|null $items

Return Value

TModel>

string|null getQueueableClass()

Get the type of the entities being queued.

Return Value

string|null

Exceptions

LogicException

protected string getQueueableModelClass(Model $model)

Get the queueable class name for the given model.

Parameters

Model $model

Return Value

string

array<int,mixed> getQueueableIds()

Get the identifiers for all of the entities.

Return Value

array<int,mixed>

array<int,string> getQueueableRelations()

Get the relationships of the entities being queued.

Return Value

array<int,string>

string|null getQueueableConnection()

Get the connection of the entities being queued.

Return Value

string|null

Exceptions

LogicException

TModel> toQuery()

Get the Eloquent query builder from the collection.

Return Value

TModel>

Exceptions

LogicException