Collection
class Collection extends Collection implements QueueableCollection (View source)
Traits
Macroable |
Properties
static protected array | $macros | The registered string macros. | from Macroable |
protected array | $items | The items contained in the collection. | from Collection |
static protected array | $proxies | The methods that can be proxied. | from Collection |
Methods
static void | macro(string $name, object|callable $macro) Register a custom macro. | from Macroable |
static void | mixin(object $mixin) 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 Collection | make(mixed $items = []) Create a new collection instance if the value isn't one already. | from Collection |
static Collection | wrap(mixed $value) Wrap the given value in a collection if applicable. | from Collection |
static array | unwrap(array|Collection $value) Get the underlying items from the given collection if applicable. | from Collection |
static Collection | times(int $number, callable $callback = null) Create a new collection by invoking the callback a given amount of times. | from Collection |
array | all() Get all of the items in the collection. | from Collection |
mixed | avg(callable|string|null $callback = null) Get the average value of a given key. | from Collection |
mixed | average(callable|string|null $callback = null) Alias for the "avg" method. | from Collection |
mixed | median(null $key = null) Get the median of a given key. | from Collection |
array|null | mode(mixed $key = null) Get the mode of a given key. | from Collection |
Collection | 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. | |
bool | containsStrict(mixed $key, mixed $value = null) Determine if an item exists in the collection using strict comparison. | from Collection |
Collection | crossJoin(mixed ...$lists) Cross join with the given lists, returning all possible permutations. | from Collection |
void | dd(...$args) Dump the collection and end the script. | from Collection |
$this | dump() Dump the collection. | from Collection |
Collection | diff(mixed $items) Diff the collection with the given items. | |
Collection | diffUsing(mixed $items, callable $callback) Get the items in the collection that are not present in the given items. | from Collection |
Collection | diffAssoc(mixed $items) Get the items in the collection whose keys and values are not present in the given items. | from Collection |
Collection | diffAssocUsing(mixed $items, callable $callback) Get the items in the collection whose keys and values are not present in the given items. | from Collection |
Collection | diffKeys(mixed $items) Get the items in the collection whose keys are not present in the given items. | from Collection |
Collection | diffKeysUsing(mixed $items, callable $callback) Get the items in the collection whose keys are not present in the given items. | from Collection |
$this | each(callable $callback) Execute a callback over each item. | from Collection |
Collection | eachSpread(callable $callback) Execute a callback over each nested chunk of items. | from Collection |
bool | every(string|callable $key, mixed $operator = null, mixed $value = null) Determine if all items in the collection pass the given test. | from Collection |
Collection | except(Collection|mixed $keys) Returns all models in the collection except the models with specified keys. | |
Collection | filter(callable $callback = null) Run a filter over each of the items. | from Collection |
Collection|mixed | when(bool $value, callable $callback, callable $default = null) Apply the callback if the value is truthy. | from Collection |
Collection|mixed | unless(bool $value, callable $callback, callable $default = null) Apply the callback if the value is falsy. | from Collection |
Collection | where(string $key, mixed $operator = null, mixed $value = null) Filter items by the given key value pair. | from Collection |
Closure | operatorForWhere(string $key, string $operator = null, mixed $value = null) Get an operator checker callback. | from Collection |
Collection | whereStrict(string $key, mixed $value) Filter items by the given key value pair using strict comparison. | from Collection |
Collection | whereIn(string $key, mixed $values, bool $strict = false) Filter items by the given key value pair. | from Collection |
Collection | whereInStrict(string $key, mixed $values) Filter items by the given key value pair using strict comparison. | from Collection |
Collection | whereNotIn(string $key, mixed $values, bool $strict = false) Filter items by the given key value pair. | from Collection |
Collection | whereNotInStrict(string $key, mixed $values) Filter items by the given key value pair using strict comparison. | from Collection |
Collection | whereInstanceOf(string $type) Filter the items, removing any items that don't match the given type. | from Collection |
mixed | first(callable $callback = null, mixed $default = null) Get the first item from the collection. | from Collection |
Collection | firstWhere(string $key, mixed $operator, mixed $value = null) Get the first item by the given key value pair. | from Collection |
Collection | flatten(int $depth = INF) Get a flattened array of the items in the collection. | |
Collection | 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 |
Collection | groupBy(callable|string $groupBy, bool $preserveKeys = false) Group an associative array by a field or using a callback. | from Collection |
Collection | 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 $glue = null) Concatenate values of a given key as a string. | from Collection |
Collection | intersect(mixed $items) Intersect the collection with the given items. | |
Collection | 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 |
bool | isNotEmpty() Determine if the collection is not empty. | from Collection |
bool | useAsCallable(mixed $value) Determine if the given value is callable, but not a string. | from Collection |
Collection | 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 |
Collection | pluck(string|array $value, string|null $key = null) Get an array with the values of a given key. | |
Collection | map(callable $callback) Run a map over each of the items. | |
Collection | mapSpread(callable $callback) Run a map over each nested chunk of items. | from Collection |
Collection | mapToDictionary(callable $callback) Run a dictionary map over the items. | from Collection |
Collection | mapToGroups(callable $callback) Run a grouping map over the items. | from Collection |
Collection | mapWithKeys(callable $callback) Run an associative map over each of the items. | from Collection |
Collection | flatMap(callable $callback) Map a collection and flatten the result by a single level. | from Collection |
Collection | mapInto(string $class) Map the values into a new class. | from Collection |
mixed | max(callable|string|null $callback = null) Get the max value of a given key. | from Collection |
Collection | merge(mixed $items) Merge the collection with the given items. | |
Collection | combine(mixed $values) Create a collection by using this collection for keys and another for its values. | from Collection |
Collection | union(mixed $items) Union the collection with the given items. | from Collection |
mixed | min(callable|string|null $callback = null) Get the min value of a given key. | from Collection |
Collection | nth(int $step, int $offset = 0) Create a new collection consisting of every n-th element. | from Collection |
Collection | only(mixed $keys) Returns only the models from the collection with the specified keys. | |
Collection | forPage(int $page, int $perPage) "Paginate" the collection by slicing it into a smaller collection. | from Collection |
Collection | partition(callable|string $key, mixed $operator = null, mixed $value = null) Partition the collection into two arrays using the given callback or key. | from Collection |
mixed | pipe(callable $callback) Pass the collection to the given callback and return the result. | from Collection |
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 $value) Push an item onto the end of the collection. | from Collection |
Collection | concat(Traversable|array $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 |
Collection|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 |
Collection | reject(callable|mixed $callback) Create a collection of all elements that do not pass a given truth test. | from Collection |
Collection | 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 |
Collection | shuffle(int $seed = null) Shuffle the items in the collection. | from Collection |
Collection | slice(int $offset, int $length = null) Slice the underlying collection array. | from Collection |
Collection | split(int $numberOfGroups) Split a collection into a certain number of groups. | from Collection |
Collection | chunk(int $size) Chunk the underlying collection array. | from Collection |
Collection | sort(callable $callback = null) Sort through each item with a callback. | from Collection |
Collection | sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false) Sort the collection using the given callback. | from Collection |
Collection | sortByDesc(callable|string $callback, int $options = SORT_REGULAR) Sort the collection in descending order using the given callback. | from Collection |
Collection | sortKeys(int $options = SORT_REGULAR, bool $descending = false) Sort the collection keys. | from Collection |
Collection | 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 |
mixed | sum(callable|string|null $callback = null) Get the sum of the given values. | from Collection |
Collection | take(int $limit) Take the first or last {$limit} items. | from Collection |
$this | tap(callable $callback) Pass the collection to the given callback and then return it. | from Collection |
$this | transform(callable $callback) Transform each item in the collection using a callback. | from Collection |
Collection | unique(string|callable|null $key = null, bool $strict = false) Return only unique items from the collection. | |
Collection | uniqueStrict(string|callable|null $key = null) Return only unique items from the collection array using strict comparison. | from Collection |
Collection | values() Reset the keys on the underlying array. | from Collection |
callable | valueRetriever(string $value) Get a value retrieving callback. | from Collection |
Collection | zip(mixed $items) Zip the collection together with one or more arrays. | |
Collection | pad(int $size, mixed $value) Pad collection to the specified length with a value. | |
array | toArray() Get the collection of items as a plain array. | from Collection |
array | jsonSerialize() Convert the object into something JSON serializable. | from Collection |
string | toJson(int $options = 0) Get the collection of items as JSON. | from Collection |
ArrayIterator | getIterator() Get an iterator for the items. | from Collection |
CachingIterator | getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING) Get a CachingIterator instance. | from Collection |
int | count() Count the number of items in 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 |
string | __toString() Convert the collection to its string representation. | from Collection |
array | getArrayableItems(mixed $items) Results array of items from Collection or Arrayable. | from Collection |
static void | proxy(string $method) Add a method to the list of proxied methods. | from Collection |
mixed | __get(string $key) Dynamically access collection proxies. | from Collection |
Model|Collection | 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 | 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 | add(mixed $item) Add an item to the 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. | |
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. |
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
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(mixed $items = [])
Create a new collection.
static Collection make(mixed $items = [])
Create a new collection instance if the value isn't one already.
static Collection wrap(mixed $value)
Wrap the given value in a collection if applicable.
static array unwrap(array|Collection $value)
Get the underlying items from the given collection if applicable.
static Collection times(int $number, callable $callback = null)
Create a new collection by invoking the callback a given amount of times.
array all()
Get all of the items in the collection.
mixed avg(callable|string|null $callback = null)
Get the average value of a given key.
mixed average(callable|string|null $callback = null)
Alias for the "avg" method.
mixed median(null $key = null)
Get the median of a given key.
array|null mode(mixed $key = null)
Get the mode of a given key.
Collection 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.
bool containsStrict(mixed $key, mixed $value = null)
Determine if an item exists in the collection using strict comparison.
Collection crossJoin(mixed ...$lists)
Cross join with the given lists, returning all possible permutations.
void dd(...$args)
Dump the collection and end the script.
$this dump()
Dump the collection.
Collection diff(mixed $items)
Diff the collection with the given items.
Collection diffUsing(mixed $items, callable $callback)
Get the items in the collection that are not present in the given items.
Collection diffAssoc(mixed $items)
Get the items in the collection whose keys and values are not present in the given items.
Collection diffAssocUsing(mixed $items, callable $callback)
Get the items in the collection whose keys and values are not present in the given items.
Collection diffKeys(mixed $items)
Get the items in the collection whose keys are not present in the given items.
Collection diffKeysUsing(mixed $items, callable $callback)
Get the items in the collection whose keys are not present in the given items.
$this each(callable $callback)
Execute a callback over each item.
Collection eachSpread(callable $callback)
Execute a callback over each nested chunk of items.
bool every(string|callable $key, mixed $operator = null, mixed $value = null)
Determine if all items in the collection pass the given test.
Collection except(Collection|mixed $keys)
Returns all models in the collection except the models with specified keys.
Collection filter(callable $callback = null)
Run a filter over each of the items.
Collection|mixed when(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is truthy.
Collection|mixed unless(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is falsy.
Collection where(string $key, mixed $operator = null, mixed $value = null)
Filter items by the given key value pair.
protected Closure operatorForWhere(string $key, string $operator = null, mixed $value = null)
Get an operator checker callback.
Collection whereStrict(string $key, mixed $value)
Filter items by the given key value pair using strict comparison.
Collection whereIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
Collection whereInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
Collection whereNotIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
Collection whereNotInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
Collection whereInstanceOf(string $type)
Filter the items, removing any items that don't match the given type.
mixed first(callable $callback = null, mixed $default = null)
Get the first item from the collection.
Collection firstWhere(string $key, mixed $operator, mixed $value = null)
Get the first item by the given key value pair.
Collection flatten(int $depth = INF)
Get a flattened array of the items in the collection.
Collection flip()
Flip the items in the collection.
$this forget(string|array $keys)
Remove an item from the collection by key.
mixed get(mixed $key, mixed $default = null)
Get an item from the collection by key.
Collection groupBy(callable|string $groupBy, bool $preserveKeys = false)
Group an associative array by a field or using a callback.
Collection keyBy(callable|string $keyBy)
Key an associative array by a field or using a callback.
bool has(mixed $key)
Determine if an item exists in the collection by key.
string implode(string $value, string $glue = null)
Concatenate values of a given key as a string.
Collection intersect(mixed $items)
Intersect the collection with the given items.
Collection intersectByKeys(mixed $items)
Intersect the collection with the given items by key.
bool isEmpty()
Determine if the collection is empty or not.
bool isNotEmpty()
Determine if the collection is not empty.
protected bool useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
Collection keys()
Get the keys of the collection items.
mixed last(callable $callback = null, mixed $default = null)
Get the last item from the collection.
Collection pluck(string|array $value, string|null $key = null)
Get an array with the values of a given key.
Collection map(callable $callback)
Run a map over each of the items.
Collection mapSpread(callable $callback)
Run a map over each nested chunk of items.
Collection mapToDictionary(callable $callback)
Run a dictionary map over the items.
The callback should return an associative array with a single key/value pair.
Collection mapToGroups(callable $callback)
Run a grouping map over the items.
The callback should return an associative array with a single key/value pair.
Collection 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.
Collection flatMap(callable $callback)
Map a collection and flatten the result by a single level.
Collection mapInto(string $class)
Map the values into a new class.
mixed max(callable|string|null $callback = null)
Get the max value of a given key.
Collection merge(mixed $items)
Merge the collection with the given items.
Collection combine(mixed $values)
Create a collection by using this collection for keys and another for its values.
Collection union(mixed $items)
Union the collection with the given items.
mixed min(callable|string|null $callback = null)
Get the min value of a given key.
Collection nth(int $step, int $offset = 0)
Create a new collection consisting of every n-th element.
Collection only(mixed $keys)
Returns only the models from the collection with the specified keys.
Collection forPage(int $page, int $perPage)
"Paginate" the collection by slicing it into a smaller collection.
Collection partition(callable|string $key, mixed $operator = null, mixed $value = null)
Partition the collection into two arrays using the given callback or key.
mixed pipe(callable $callback)
Pass the collection to the given callback and return the result.
mixed pop()
Get and remove the last item from the collection.
$this prepend(mixed $value, mixed $key = null)
Push an item onto the beginning of the collection.
$this push(mixed $value)
Push an item onto the end of the collection.
Collection concat(Traversable|array $source)
Push all of the given items onto the collection.
mixed pull(mixed $key, mixed $default = null)
Get and remove an item from the collection.
$this put(mixed $key, mixed $value)
Put an item in the collection by key.
Collection|mixed random(int|null $number = null)
Get one or a specified number of items randomly from the collection.
mixed reduce(callable $callback, mixed $initial = null)
Reduce the collection to a single value.
Collection reject(callable|mixed $callback)
Create a collection of all elements that do not pass a given truth test.
Collection reverse()
Reverse items order.
mixed search(mixed $value, bool $strict = false)
Search the collection for a given value and return the corresponding key if successful.
mixed shift()
Get and remove the first item from the collection.
Collection shuffle(int $seed = null)
Shuffle the items in the collection.
Collection slice(int $offset, int $length = null)
Slice the underlying collection array.
Collection split(int $numberOfGroups)
Split a collection into a certain number of groups.
Collection chunk(int $size)
Chunk the underlying collection array.
Collection sort(callable $callback = null)
Sort through each item with a callback.
Collection sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
Collection sortByDesc(callable|string $callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
Collection sortKeys(int $options = SORT_REGULAR, bool $descending = false)
Sort the collection keys.
Collection sortKeysDesc(int $options = SORT_REGULAR)
Sort the collection keys in descending order.
Collection splice(int $offset, int|null $length = null, mixed $replacement = [])
Splice a portion of the underlying collection array.
mixed sum(callable|string|null $callback = null)
Get the sum of the given values.
Collection take(int $limit)
Take the first or last {$limit} items.
$this tap(callable $callback)
Pass the collection to the given callback and then return it.
$this transform(callable $callback)
Transform each item in the collection using a callback.
Collection unique(string|callable|null $key = null, bool $strict = false)
Return only unique items from the collection.
Collection uniqueStrict(string|callable|null $key = null)
Return only unique items from the collection array using strict comparison.
Collection values()
Reset the keys on the underlying array.
protected callable valueRetriever(string $value)
Get a value retrieving callback.
Collection zip(mixed $items)
Zip the collection together with one or more arrays.
Collection pad(int $size, mixed $value)
Pad collection to the specified length with a value.
array toArray()
Get the collection of items as a plain array.
array jsonSerialize()
Convert the object into something JSON serializable.
string toJson(int $options = 0)
Get the collection of items as JSON.
ArrayIterator getIterator()
Get an iterator for the items.
CachingIterator getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)
Get a CachingIterator instance.
int count()
Count the number of items in the collection.
Collection toBase()
Get a base Support collection instance from this collection.
bool offsetExists(mixed $key)
Determine if an item exists at an offset.
mixed offsetGet(mixed $key)
Get an item at a given offset.
void offsetSet(mixed $key, mixed $value)
Set the item at a given offset.
void offsetUnset(string $key)
Unset the item at a given offset.
string __toString()
Convert the collection to its string representation.
protected array getArrayableItems(mixed $items)
Results array of items from Collection or Arrayable.
static void proxy(string $method)
Add a method to the list of proxied methods.
mixed __get(string $key)
Dynamically access collection proxies.
Model|Collection 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 loadMissing(array|string $relations)
Load a set of relationships onto the collection if they are not already eager loaded.
protected 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 add(mixed $item)
Add an item to the 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.
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.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Collection.html