W3cubDocs

/Laravel 8

Collection

class Collection extends Collection implements QueueableCollection (View source)

Traits

EnumeratesValues
Macroable

Properties

static protected string[] $proxies The methods that can be proxied. from EnumeratesValues
static protected array $macros The registered string macros. from Macroable
protected array $items The items contained in the collection. from Collection

Methods

static EnumeratesValues make(mixed $items = [])

Create a new collection instance if the value isn't one already.

from EnumeratesValues
static EnumeratesValues wrap(mixed $value)

Wrap the given value in a collection if applicable.

from EnumeratesValues
static array unwrap(array|EnumeratesValues $value)

Get the underlying items from the given collection if applicable.

from EnumeratesValues
static EnumeratesValues empty()

Create a new instance with no items.

from EnumeratesValues
static EnumeratesValues times(int $number, callable $callback = null)

Create a new collection by invoking the callback a given amount of times.

from EnumeratesValues
mixed average(callable|string|null $callback = null)

Alias for the "avg" method.

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

Alias for the "contains" method.

from EnumeratesValues
bool containsStrict(mixed $key, mixed $value = null)

Determine if an item exists, using strict comparison.

from EnumeratesValues
void dd(mixed ...$args)

Dump the items and end the script.

from EnumeratesValues
$this dump()

Dump the items.

from EnumeratesValues
$this each(callable $callback)

Execute a callback over each item.

from EnumeratesValues
EnumeratesValues eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

from EnumeratesValues
bool every(string|callable $key, mixed $operator = null, mixed $value = null)

Determine if all items pass the given truth test.

from EnumeratesValues
mixed firstWhere(string $key, mixed $operator = null, mixed $value = null)

Get the first item by the given key value pair.

from EnumeratesValues
bool isNotEmpty()

Determine if the collection is not empty.

from EnumeratesValues
EnumeratesValues mapSpread(callable $callback)

Run a map over each nested chunk of items.

from EnumeratesValues
EnumeratesValues mapToGroups(callable $callback)

Run a grouping map over the items.

from EnumeratesValues
EnumeratesValues flatMap(callable $callback)

Map a collection and flatten the result by a single level.

from EnumeratesValues
EnumeratesValues mapInto(string $class)

Map the values into a new class.

from EnumeratesValues
mixed min(callable|string|null $callback = null)

Get the min value of a given key.

from EnumeratesValues
mixed max(callable|string|null $callback = null)

Get the max value of a given key.

from EnumeratesValues
EnumeratesValues forPage(int $page, int $perPage)

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

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

Partition the collection into two arrays using the given callback or key.

from EnumeratesValues
mixed sum(callable|string|null $callback = null)

Get the sum of the given values.

from EnumeratesValues
EnumeratesValues|mixed when(bool|mixed $value, callable $callback = null, callable $default = null)

Apply the callback if the value is truthy.

from EnumeratesValues
EnumeratesValues|mixed whenEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is empty.

from EnumeratesValues
EnumeratesValues|mixed whenNotEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is not empty.

from EnumeratesValues
EnumeratesValues|mixed unless(bool $value, callable $callback, callable $default = null)

Apply the callback if the value is falsy.

from EnumeratesValues
EnumeratesValues|mixed unlessEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is empty.

from EnumeratesValues
EnumeratesValues|mixed unlessNotEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is not empty.

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

Filter items by the given key value pair.

from EnumeratesValues
EnumeratesValues whereNull(string|null $key = null)

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

from EnumeratesValues
EnumeratesValues whereNotNull(string|null $key = null)

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

from EnumeratesValues
EnumeratesValues whereStrict(string $key, mixed $value)

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

from EnumeratesValues
EnumeratesValues whereIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

from EnumeratesValues
EnumeratesValues whereInStrict(string $key, mixed $values)

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

from EnumeratesValues
EnumeratesValues whereBetween(string $key, array $values)

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

from EnumeratesValues
EnumeratesValues whereNotBetween(string $key, array $values)

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

from EnumeratesValues
EnumeratesValues whereNotIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

from EnumeratesValues
EnumeratesValues whereNotInStrict(string $key, mixed $values)

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

from EnumeratesValues
EnumeratesValues whereInstanceOf(string $type)

Filter the items, removing any items that don't match the given type.

from EnumeratesValues
mixed pipe(callable $callback)

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

from EnumeratesValues
mixed pipeInto(string $class)

Pass the collection into a new class.

from EnumeratesValues
$this tap(callable $callback)

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

from EnumeratesValues
EnumeratesValues reject(callable|mixed $callback = true)

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

from EnumeratesValues
EnumeratesValues unique(string|callable|null $key = null, bool $strict = false)

Return only unique items from the collection.

EnumeratesValues uniqueStrict(string|callable|null $key = null)

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

from EnumeratesValues
Collection collect()

Collect the values into a collection.

from EnumeratesValues
array toArray()

Get the collection of items as a plain array.

from EnumeratesValues
array jsonSerialize()

Convert the object into something JSON serializable.

from EnumeratesValues
string toJson(int $options = 0)

Get the collection of items as JSON.

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

Get a CachingIterator instance.

from EnumeratesValues
string __toString()

Convert the collection to its string representation.

from EnumeratesValues
static void proxy(string $method)

Add a method to the list of proxied methods.

from EnumeratesValues
mixed __get(string $key)

Dynamically access collection proxies.

from EnumeratesValues
array getArrayableItems(mixed $items)

Results array of items from Collection or Arrayable.

from EnumeratesValues
Closure operatorForWhere(string $key, string|null $operator = null, mixed $value = null)

Get an operator checker callback.

from EnumeratesValues
bool useAsCallable(mixed $value)

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

from EnumeratesValues
callable valueRetriever(callable|string|null $value)

Get a value retrieving callback.

from EnumeratesValues
Closure equality(mixed $value)

Make a function to check an item's equality.

from EnumeratesValues
Closure negate(Closure $callback)

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

from EnumeratesValues
Closure identity()

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

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

Register a custom macro.

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

Mix another object into the class.

from Macroable
static bool hasMacro(string $name)

Checks if macro is registered.

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

Dynamically handle calls to the class.

from Macroable
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
void __construct(mixed $items = [])

Create a new collection.

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

Create a collection with the given range.

from Collection
array all()

Get all of the items in the collection.

from Collection
LazyCollection lazy()

Get a lazy collection for the items in this collection.

from Collection
mixed avg(callable|string|null $callback = null)

Get the average value of a given key.

from Collection
mixed median(string|array|null $key = null)

Get the median of a given key.

from Collection
array|null mode(string|array|null $key = null)

Get the mode of a given key.

from Collection
Enumerable collapse()

Collapse the collection of items into a single array.

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

Determine if a key exists in the collection.

Enumerable crossJoin(mixed ...$lists)

Cross join with the given lists, returning all possible permutations.

from Collection
Enumerable diff(mixed $items)

Diff the collection with 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.

from Collection
Enumerable diffAssoc(mixed $items)

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

from Collection
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.

from Collection
Enumerable diffKeys(mixed $items)

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

from Collection
Enumerable diffKeysUsing(mixed $items, callable $callback)

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

from Collection
Enumerable duplicates(callable|null $callback = null, bool $strict = false)

Retrieve duplicate items from the collection.

from Collection
Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items from the collection using strict comparison.

from Collection
Closure duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

Enumerable except(mixed $keys)

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

Enumerable filter(callable $callback = null)

Run a filter over each of the items.

from Collection
mixed first(callable $callback = null, mixed $default = null)

Get the first item from the collection passing the given truth test.

from Collection
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|array $keys)

Remove an item from the collection by key.

from Collection
mixed get(mixed $key, mixed $default = null)

Get an item from the collection by key.

from Collection
Enumerable groupBy(array|callable|string $groupBy, bool $preserveKeys = false)

Group an associative array by a field or using a callback.

from Collection
Enumerable keyBy(callable|string $keyBy)

Key an associative array by a field or using a callback.

from Collection
bool has(mixed $key)

Determine if an item exists in the collection by key.

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

Concatenate values of a given key as a string.

from Collection
Enumerable intersect(mixed $items)

Intersect the collection with the given items.

Enumerable intersectByKeys(mixed $items)

Intersect the collection with the given items by key.

from Collection
bool isEmpty()

Determine if the collection is empty or not.

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

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

from Collection
Enumerable keys()

Get the keys of the collection items.

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

Get the last item from the collection.

from Collection
Enumerable pluck(string|array $value, string|null $key = null)

Get an array with 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.

from Collection
Enumerable mapWithKeys(callable $callback)

Run an associative map over each of the items.

Enumerable merge(mixed $items)

Merge the collection with the given items.

Enumerable mergeRecursive(mixed $items)

Recursively merge the collection with the given items.

from Collection
Enumerable combine(mixed $values)

Create a collection by using this collection for keys and another for its values.

from Collection
Enumerable union(mixed $items)

Union the collection with the given items.

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

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

from Collection
Enumerable only(mixed $keys)

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

mixed pop()

Get and remove the last item from the collection.

from Collection
$this prepend(mixed $value, mixed $key = null)

Push an item onto the beginning of the collection.

from Collection
$this push(mixed ...$values)

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

from Collection
Enumerable concat(iterable $source)

Push all of the given items onto the collection.

from Collection
mixed pull(mixed $key, mixed $default = null)

Get and remove an item from the collection.

from Collection
$this put(mixed $key, mixed $value)

Put an item in the collection by key.

from Collection
Enumerable|mixed random(int|null $number = null)

Get one or a specified number of items randomly from the collection.

from Collection
mixed reduce(callable $callback, mixed $initial = null)

Reduce the collection to a single value.

from Collection
Enumerable replace(mixed $items)

Replace the collection items with the given items.

from Collection
Enumerable replaceRecursive(mixed $items)

Recursively replace the collection items with the given items.

from Collection
Enumerable reverse()

Reverse items order.

from Collection
mixed search(mixed $value, bool $strict = false)

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

from Collection
mixed shift()

Get and remove the first item from the collection.

from Collection
Enumerable shuffle(int|null $seed = null)

Shuffle the items in the collection.

from Collection
Enumerable skip(int $count)

Skip the first {$count} items.

from Collection
Enumerable skipUntil(mixed $value)

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

from Collection
Enumerable skipWhile(mixed $value)

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

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

Slice the underlying collection array.

from Collection
Enumerable split(int $numberOfGroups)

Split a collection into a certain number of groups.

from Collection
Enumerable chunk(int $size)

Chunk the collection into chunks of the given size.

from Collection
Enumerable chunkWhile(callable $callback)

Chunk the collection into chunks with a callback.

from Collection
Enumerable sort(callable|null|int $callback = null)

Sort through each item with a callback.

from Collection
Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

from Collection
Enumerable sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)

Sort the collection using the given callback.

from Collection
Enumerable sortByDesc(callable|string $callback, int $options = SORT_REGULAR)

Sort the collection in descending order using the given callback.

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

Sort the collection keys.

from Collection
Enumerable sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

from Collection
Collection splice(int $offset, int|null $length = null, mixed $replacement = [])

Splice a portion of the underlying collection array.

from Collection
Enumerable take(int $limit)

Take the first or last {$limit} items.

from Collection
Enumerable takeUntil(mixed $value)

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

from Collection
Enumerable takeWhile(mixed $value)

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

from Collection
$this transform(callable $callback)

Transform each item in the collection using a callback.

from Collection
Enumerable values()

Reset the keys on the underlying array.

from Collection
Enumerable zip(mixed $items)

Zip the collection together with one or more arrays.

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

ArrayIterator getIterator()

Get an iterator for the items.

from Collection
int count()

Count the number of items in the collection.

from Collection
Enumerable countBy(callable|string $countBy = null)

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

from Collection
$this add(mixed $item)

Add an item to the collection.

from Collection
Collection toBase()

Get a base Support collection instance from this collection.

from Collection
bool offsetExists(mixed $key)

Determine if an item exists at an offset.

from Collection
mixed offsetGet(mixed $key)

Get an item at a given offset.

from Collection
void offsetSet(mixed $key, mixed $value)

Set the item at a given offset.

from Collection
void offsetUnset(string $key)

Unset the item at a given offset.

from Collection
Model|Collection|null find(mixed $key, mixed $default = null)

Find a model in the collection by key.

$this load(array|string $relations)

Load a set of relationships onto the collection.

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

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

$this loadCount(array|string $relations)

Load a set of relationship counts onto the collection.

$this loadMax(array|string $relations, string $column)

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

$this loadMin(array|string $relations, string $column)

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

$this loadSum(array|string $relations, string $column)

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

$this loadAvg(array|string $relations, string $column)

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

$this loadMissing(array|string $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, 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 modelKeys()

Get the array of primary keys.

Collection fresh(array|string $with = [])

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

$this makeHidden(array|string $attributes)

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

$this makeVisible(array|string $attributes)

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

$this append(array|string $attributes)

Append an attribute across the entire collection.

array getDictionary(ArrayAccess|array|null $items = null)

Get a dictionary keyed by primary keys.

string|null getQueueableClass()

Get the type of the entities being queued.

array getQueueableIds()

Get the identifiers for all of the entities.

array getQueueableRelations()

Get the relationships of the entities being queued.

string|null getQueueableConnection()

Get the connection of the entities being queued.

Builder toQuery()

Get the Eloquent query builder from the collection.

Details

static EnumeratesValues make(mixed $items = [])

Create a new collection instance if the value isn't one already.

Parameters

mixed $items

Return Value

EnumeratesValues

static EnumeratesValues wrap(mixed $value)

Wrap the given value in a collection if applicable.

Parameters

mixed $value

Return Value

EnumeratesValues

static array unwrap(array|EnumeratesValues $value)

Get the underlying items from the given collection if applicable.

Parameters

array|EnumeratesValues $value

Return Value

array

static EnumeratesValues empty()

Create a new instance with no items.

Return Value

EnumeratesValues

static EnumeratesValues times(int $number, callable $callback = null)

Create a new collection by invoking the callback a given amount of times.

Parameters

int $number
callable $callback

Return Value

EnumeratesValues

mixed average(callable|string|null $callback = null)

Alias for the "avg" method.

Parameters

callable|string|null $callback

Return Value

mixed

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

Alias for the "contains" method.

Parameters

mixed $key
mixed $operator
mixed $value

Return Value

bool

bool containsStrict(mixed $key, mixed $value = null)

Determine if an item exists, using strict comparison.

Parameters

mixed $key
mixed $value

Return Value

bool

void dd(mixed ...$args)

Dump the items and end the script.

Parameters

mixed ...$args

Return Value

void

$this dump()

Dump the items.

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(string|callable $key, mixed $operator = null, mixed $value = null)

Determine if all items pass the given truth test.

Parameters

string|callable $key
mixed $operator
mixed $value

Return Value

bool

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

Get the first item by the given key value pair.

Parameters

string $key
mixed $operator
mixed $value

Return Value

mixed

bool isNotEmpty()

Determine if the collection is not empty.

Return Value

bool

EnumeratesValues mapSpread(callable $callback)

Run a map over each nested chunk of items.

Parameters

callable $callback

Return Value

EnumeratesValues

EnumeratesValues mapToGroups(callable $callback)

Run a grouping map over the items.

The callback should return an associative array with a single key/value pair.

Parameters

callable $callback

Return Value

EnumeratesValues

EnumeratesValues flatMap(callable $callback)

Map a collection and flatten the result by a single level.

Parameters

callable $callback

Return Value

EnumeratesValues

EnumeratesValues mapInto(string $class)

Map the values into a new class.

Parameters

string $class

Return Value

EnumeratesValues

mixed min(callable|string|null $callback = null)

Get the min value of a given key.

Parameters

callable|string|null $callback

Return Value

mixed

mixed max(callable|string|null $callback = null)

Get the max value of a given key.

Parameters

callable|string|null $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

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

Partition the collection into two arrays using the given callback or key.

Parameters

callable|string $key
mixed $operator
mixed $value

Return Value

EnumeratesValues

mixed sum(callable|string|null $callback = null)

Get the sum of the given values.

Parameters

callable|string|null $callback

Return Value

mixed

EnumeratesValues|mixed when(bool|mixed $value, callable $callback = null, callable $default = null)

Apply the callback if the value is truthy.

Parameters

bool|mixed $value
callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed whenEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed whenNotEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is not empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed unless(bool $value, callable $callback, callable $default = null)

Apply the callback if the value is falsy.

Parameters

bool $value
callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed unlessEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed unlessNotEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is not empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

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

Filter items by the given key value pair.

Parameters

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, mixed $values, bool $strict = false)

Filter items by the given key value pair.

Parameters

string $key
mixed $values
bool $strict

Return Value

EnumeratesValues

EnumeratesValues whereInStrict(string $key, mixed $values)

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

Parameters

string $key
mixed $values

Return Value

EnumeratesValues

EnumeratesValues whereBetween(string $key, array $values)

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

Parameters

string $key
array $values

Return Value

EnumeratesValues

EnumeratesValues whereNotBetween(string $key, array $values)

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

Parameters

string $key
array $values

Return Value

EnumeratesValues

EnumeratesValues whereNotIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

Parameters

string $key
mixed $values
bool $strict

Return Value

EnumeratesValues

EnumeratesValues whereNotInStrict(string $key, mixed $values)

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

Parameters

string $key
mixed $values

Return Value

EnumeratesValues

EnumeratesValues whereInstanceOf(string $type)

Filter the items, removing any items that don't match the given type.

Parameters

string $type

Return Value

EnumeratesValues

mixed pipe(callable $callback)

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

Parameters

callable $callback

Return Value

mixed

mixed pipeInto(string $class)

Pass the collection into a new class.

Parameters

string $class

Return Value

mixed

$this tap(callable $callback)

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

Parameters

callable $callback

Return Value

$this

EnumeratesValues reject(callable|mixed $callback = true)

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

Parameters

callable|mixed $callback

Return Value

EnumeratesValues

EnumeratesValues unique(string|callable|null $key = null, bool $strict = false)

Return only unique items from the collection.

Parameters

string|callable|null $key
bool $strict

Return Value

EnumeratesValues

EnumeratesValues uniqueStrict(string|callable|null $key = null)

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

Parameters

string|callable|null $key

Return Value

EnumeratesValues

Collection collect()

Collect the values into a collection.

Return Value

Collection

array toArray()

Get the collection of items as a plain array.

Return Value

array

array jsonSerialize()

Convert the object into something JSON serializable.

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

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 array getArrayableItems(mixed $items)

Results array of items from Collection or Arrayable.

Parameters

mixed $items

Return Value

array

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

Get an operator checker callback.

Parameters

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 Closure equality(mixed $value)

Make a function to check an item's equality.

Parameters

mixed $value

Return Value

Closure

protected Closure negate(Closure $callback)

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

Parameters

Closure $callback

Return Value

Closure

protected Closure identity()

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

Return Value

Closure

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

Create a new collection.

Parameters

mixed $items

Return Value

void

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

Create a collection with the given range.

Parameters

int $from
int $to

Return Value

Enumerable

array all()

Get all of the items in the collection.

Return Value

array

LazyCollection lazy()

Get a lazy collection for the items in this collection.

Return Value

LazyCollection

mixed avg(callable|string|null $callback = null)

Get the average value of a given key.

Parameters

callable|string|null $callback

Return Value

mixed

mixed median(string|array|null $key = null)

Get the median of a given key.

Parameters

string|array|null $key

Return Value

mixed

array|null mode(string|array|null $key = null)

Get the mode of a given key.

Parameters

string|array|null $key

Return Value

array|null

Enumerable collapse()

Collapse the collection of items into a single array.

Return Value

Enumerable

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

Determine if a key exists in the collection.

Parameters

mixed $key
mixed $operator
mixed $value

Return Value

bool

Enumerable crossJoin(mixed ...$lists)

Cross join with the given lists, returning all possible permutations.

Parameters

mixed ...$lists

Return Value

Enumerable

Enumerable diff(mixed $items)

Diff the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffUsing(mixed $items, callable $callback)

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

Parameters

mixed $items
callable $callback

Return Value

Enumerable

Enumerable diffAssoc(mixed $items)

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

Parameters

mixed $items

Return Value

Enumerable

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.

Parameters

mixed $items
callable $callback

Return Value

Enumerable

Enumerable diffKeys(mixed $items)

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

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffKeysUsing(mixed $items, callable $callback)

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

Parameters

mixed $items
callable $callback

Return Value

Enumerable

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

Retrieve duplicate items from the collection.

Parameters

callable|null $callback
bool $strict

Return Value

Enumerable

Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items from the collection using strict comparison.

Parameters

callable|null $callback

Return Value

Enumerable

protected Closure duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

Parameters

bool $strict

Return Value

Closure

Enumerable except(mixed $keys)

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

Parameters

mixed $keys

Return Value

Enumerable

Enumerable filter(callable $callback = null)

Run a filter over each of the items.

Parameters

callable $callback

Return Value

Enumerable

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

Get the first item from the collection passing the given truth test.

Parameters

callable $callback
mixed $default

Return Value

mixed

Enumerable flatten(int $depth = INF)

Get a flattened array of the items in the collection.

Parameters

int $depth

Return Value

Enumerable

Enumerable flip()

Flip the items in the collection.

Return Value

Enumerable

$this forget(string|array $keys)

Remove an item from the collection by key.

Parameters

string|array $keys

Return Value

$this

mixed get(mixed $key, mixed $default = null)

Get an item from the collection by key.

Parameters

mixed $key
mixed $default

Return Value

mixed

Enumerable groupBy(array|callable|string $groupBy, bool $preserveKeys = false)

Group an associative array by a field or using a callback.

Parameters

array|callable|string $groupBy
bool $preserveKeys

Return Value

Enumerable

Enumerable keyBy(callable|string $keyBy)

Key an associative array by a field or using a callback.

Parameters

callable|string $keyBy

Return Value

Enumerable

bool has(mixed $key)

Determine if an item exists in the collection by key.

Parameters

mixed $key

Return Value

bool

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

Concatenate values of a given key as a string.

Parameters

string $value
string|null $glue

Return Value

string

Enumerable intersect(mixed $items)

Intersect the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable intersectByKeys(mixed $items)

Intersect the collection with the given items by key.

Parameters

mixed $items

Return Value

Enumerable

bool isEmpty()

Determine if the collection is empty or not.

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

Enumerable keys()

Get the keys of the collection items.

Return Value

Enumerable

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

Get the last item from the collection.

Parameters

callable $callback
mixed $default

Return Value

mixed

Enumerable pluck(string|array $value, string|null $key = null)

Get an array with the values of a given key.

Parameters

string|array $value
string|null $key

Return Value

Enumerable

Enumerable map(callable $callback)

Run a map over each of the items.

Parameters

callable $callback

Return Value

Enumerable

Enumerable mapToDictionary(callable $callback)

Run a dictionary map over the items.

The callback should return an associative array with a single key/value pair.

Parameters

callable $callback

Return Value

Enumerable

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.

Parameters

callable $callback

Return Value

Enumerable

Enumerable merge(mixed $items)

Merge the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable mergeRecursive(mixed $items)

Recursively merge the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable combine(mixed $values)

Create a collection by using this collection for keys and another for its values.

Parameters

mixed $values

Return Value

Enumerable

Enumerable union(mixed $items)

Union the collection with the given items.

Parameters

mixed $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(mixed $keys)

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

Parameters

mixed $keys

Return Value

Enumerable

mixed pop()

Get and remove the last item from the collection.

Return Value

mixed

$this prepend(mixed $value, mixed $key = null)

Push an item onto the beginning of the collection.

Parameters

mixed $value
mixed $key

Return Value

$this

$this push(mixed ...$values)

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

Parameters

mixed ...$values [optional]

Return Value

$this

Enumerable concat(iterable $source)

Push all of the given items onto the collection.

Parameters

iterable $source

Return Value

Enumerable

mixed pull(mixed $key, mixed $default = null)

Get and remove an item from the collection.

Parameters

mixed $key
mixed $default

Return Value

mixed

$this put(mixed $key, mixed $value)

Put an item in the collection by key.

Parameters

mixed $key
mixed $value

Return Value

$this

Enumerable|mixed random(int|null $number = null)

Get one or a specified number of items randomly from the collection.

Parameters

int|null $number

Return Value

Enumerable|mixed

Exceptions

InvalidArgumentException

mixed reduce(callable $callback, mixed $initial = null)

Reduce the collection to a single value.

Parameters

callable $callback
mixed $initial

Return Value

mixed

Enumerable replace(mixed $items)

Replace the collection items with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable replaceRecursive(mixed $items)

Recursively replace the collection items with the given items.

Parameters

mixed $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

mixed $value
bool $strict

Return Value

mixed

mixed shift()

Get and remove the first item from the collection.

Return Value

mixed

Enumerable shuffle(int|null $seed = null)

Shuffle the items in the collection.

Parameters

int|null $seed

Return Value

Enumerable

Enumerable skip(int $count)

Skip the first {$count} items.

Parameters

int $count

Return Value

Enumerable

Enumerable skipUntil(mixed $value)

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

Parameters

mixed $value

Return Value

Enumerable

Enumerable skipWhile(mixed $value)

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

Parameters

mixed $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

Enumerable split(int $numberOfGroups)

Split a collection into a certain number of groups.

Parameters

int $numberOfGroups

Return Value

Enumerable

Enumerable chunk(int $size)

Chunk the collection into chunks of the given size.

Parameters

int $size

Return Value

Enumerable

Enumerable chunkWhile(callable $callback)

Chunk the collection into chunks with a callback.

Parameters

callable $callback

Return Value

Enumerable

Enumerable sort(callable|null|int $callback = null)

Sort through each item with a callback.

Parameters

callable|null|int $callback

Return Value

Enumerable

Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

Parameters

int $options

Return Value

Enumerable

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

Sort the collection using the given callback.

Parameters

callable|string $callback
int $options
bool $descending

Return Value

Enumerable

Enumerable sortByDesc(callable|string $callback, int $options = SORT_REGULAR)

Sort the collection in descending order using the given callback.

Parameters

callable|string $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

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

Splice a portion of the underlying collection array.

Parameters

int $offset
int|null $length
mixed $replacement

Return Value

Collection

Enumerable take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Enumerable

Enumerable takeUntil(mixed $value)

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

Parameters

mixed $value

Return Value

Enumerable

Enumerable takeWhile(mixed $value)

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

Parameters

mixed $value

Return Value

Enumerable

$this transform(callable $callback)

Transform each item in the collection using a callback.

Parameters

callable $callback

Return Value

$this

Enumerable values()

Reset the keys on the underlying array.

Return Value

Enumerable

Enumerable zip(mixed $items)

Zip the collection together with one or more arrays.

Parameters

mixed $items

Return Value

Enumerable

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

Parameters

int $size
mixed $value

Return Value

Enumerable

ArrayIterator getIterator()

Get an iterator for the items.

Return Value

ArrayIterator

int count()

Count the number of items in the collection.

Return Value

int

Enumerable countBy(callable|string $countBy = null)

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

Parameters

callable|string $countBy

Return Value

Enumerable

$this add(mixed $item)

Add an item to the collection.

Parameters

mixed $item

Return Value

$this

Collection toBase()

Get a base Support collection instance from this collection.

Return Value

Collection

bool offsetExists(mixed $key)

Determine if an item exists at an offset.

Parameters

mixed $key

Return Value

bool

mixed offsetGet(mixed $key)

Get an item at a given offset.

Parameters

mixed $key

Return Value

mixed

void offsetSet(mixed $key, mixed $value)

Set the item at a given offset.

Parameters

mixed $key
mixed $value

Return Value

void

void offsetUnset(string $key)

Unset the item at a given offset.

Parameters

string $key

Return Value

void

Model|Collection|null find(mixed $key, mixed $default = null)

Find a model in the collection by key.

Parameters

mixed $key
mixed $default

Return Value

Model|Collection|null

$this load(array|string $relations)

Load a set of relationships onto the collection.

Parameters

array|string $relations

Return Value

$this

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

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

Parameters

array|string $relations
string $column
string $function

Return Value

$this

$this loadCount(array|string $relations)

Load a set of relationship counts onto the collection.

Parameters

array|string $relations

Return Value

$this

$this loadMax(array|string $relations, string $column)

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

Parameters

array|string $relations
string $column

Return Value

$this

$this loadMin(array|string $relations, string $column)

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

Parameters

array|string $relations
string $column

Return Value

$this

$this loadSum(array|string $relations, string $column)

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

Parameters

array|string $relations
string $column

Return Value

$this

$this loadAvg(array|string $relations, string $column)

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

Parameters

array|string $relations
string $column

Return Value

$this

$this loadMissing(array|string $relations)

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

Parameters

array|string $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, array $relations)

Load a set of relationships onto the mixed relationship collection.

Parameters

string $relation
array $relations

Return Value

$this

$this loadMorphCount(string $relation, array $relations)

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

Parameters

string $relation
array $relations

Return Value

$this

array modelKeys()

Get the array of primary keys.

Return Value

array

Collection fresh(array|string $with = [])

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

Parameters

array|string $with

Return Value

Collection

$this makeHidden(array|string $attributes)

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

Parameters

array|string $attributes

Return Value

$this

$this makeVisible(array|string $attributes)

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

Parameters

array|string $attributes

Return Value

$this

$this append(array|string $attributes)

Append an attribute across the entire collection.

Parameters

array|string $attributes

Return Value

$this

array getDictionary(ArrayAccess|array|null $items = null)

Get a dictionary keyed by primary keys.

Parameters

ArrayAccess|array|null $items

Return Value

array

string|null getQueueableClass()

Get the type of the entities being queued.

Return Value

string|null

Exceptions

LogicException

array getQueueableIds()

Get the identifiers for all of the entities.

Return Value

array

array getQueueableRelations()

Get the relationships of the entities being queued.

Return Value

array

string|null getQueueableConnection()

Get the connection of the entities being queued.

Return Value

string|null

Exceptions

LogicException

Builder toQuery()

Get the Eloquent query builder from the collection.

Return Value

Builder

Exceptions

LogicException

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Collection.html