Collection

class Collection extends Collection (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

Methods

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

Register a custom macro.

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
array all()

Get all of the items in the collection.

from Collection
mixed avg(string|null $key = null)

Get the average value of a given key.

from Collection
mixed average(string|null $key = null)

Alias for the "avg" method.

from Collection
Collection collapse()

Collapse the collection of items into a single array.

from Collection
bool contains(mixed $key, mixed $value = null)

Determine if a key exists in the collection.

Collection diff(mixed $items)

Diff the collection with the given items.

$this each(callable $callback)

Execute a callback over each item.

from Collection
Collection every(int $step, int $offset)

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

from Collection
Collection except(mixed $keys)

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

Collection fetch(string $key) deprecated

Fetch a nested element of the collection.

Collection filter(callable $callback = null)

Run a filter over each of the items.

from Collection
Collection where(string $key, mixed $value, bool $strict = true)

Filter items by the given key value pair.

from Collection
Collection whereLoose(string $key, mixed $value)

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

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

Get the first item from the collection.

from Collection
Collection flatten()

Get a flattened array of the items in the collection.

from Collection
Collection flip()

Flip the items in the collection.

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

bool isEmpty()

Determine if the collection is empty or not.

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.

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

Get the last item from the collection.

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

Get the values of a given key.

from Collection
Collection lists(string $value, string|null $key = null)

Alias for the "pluck" method.

from Collection
Collection map(callable $callback)

Run a 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
mixed max(string|null $key = null)

Get the max value of a given key.

from Collection
Collection merge(mixed $items)

Merge the collection with the given items.

mixed min(string|null $key = null)

Get the min value of a given key.

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
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
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
mixed random(int $amount = 1)

Get one or more 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()

Shuffle the items in the collection.

from Collection
Collection slice(int $offset, int $length = null, bool $preserveKeys = false)

Slice the underlying collection array.

from Collection
Collection chunk(int $size, bool $preserveKeys = false)

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 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 transform(callable $callback)

Transform each item in the collection using a callback.

from Collection
Collection unique(string|callable|null $key = null)

Return only unique items from the 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.

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

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
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
Model find(mixed $key, mixed $default = null)

Find a model in the collection by key.

$this load(mixed $relations)

Load a set of relationships onto the collection.

$this add(mixed $item)

Add an item to the collection.

array modelKeys()

Get the array of primary keys.

$this withHidden(array|string $attributes)

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

array getDictionary(ArrayAccess|array $items = null)

Get a dictionary keyed by primary keys.

Collection toBase()

Get a base Support collection instance from this collection.

Details

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

Register a custom macro.

Parameters

string $name
callable $macro

Return Value

void

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

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

Parameters

mixed $items

Return Value

Collection

array all()

Get all of the items in the collection.

Return Value

array

mixed avg(string|null $key = null)

Get the average value of a given key.

Parameters

string|null $key

Return Value

mixed

mixed average(string|null $key = null)

Alias for the "avg" method.

Parameters

string|null $key

Return Value

mixed

Collection collapse()

Collapse the collection of items into a single array.

Return Value

Collection

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

Determine if a key exists in the collection.

Parameters

mixed $key
mixed $value

Return Value

bool

Collection diff(mixed $items)

Diff the collection with the given items.

Parameters

mixed $items

Return Value

Collection

$this each(callable $callback)

Execute a callback over each item.

Parameters

callable $callback

Return Value

$this

Collection every(int $step, int $offset)

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

Parameters

int $step
int $offset

Return Value

Collection

Collection except(mixed $keys)

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

Parameters

mixed $keys

Return Value

Collection

Collection fetch(string $key) deprecated

deprecated

since version 5.1. Use pluck instead.

Fetch a nested element of the collection.

Parameters

string $key

Return Value

Collection

Collection filter(callable $callback = null)

Run a filter over each of the items.

Parameters

callable $callback

Return Value

Collection

Collection where(string $key, mixed $value, bool $strict = true)

Filter items by the given key value pair.

Parameters

string $key
mixed $value
bool $strict

Return Value

Collection

Collection whereLoose(string $key, mixed $value)

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

Parameters

string $key
mixed $value

Return Value

Collection

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

Get the first item from the collection.

Parameters

callable $callback
mixed $default

Return Value

mixed

Collection flatten()

Get a flattened array of the items in the collection.

Return Value

Collection

Collection flip()

Flip the items in the collection.

Return Value

Collection

$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

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

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

Parameters

callable|string $groupBy
bool $preserveKeys

Return Value

Collection

Collection keyBy(callable|string $keyBy)

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

Parameters

callable|string $keyBy

Return Value

Collection

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 $glue = null)

Concatenate values of a given key as a string.

Parameters

string $value
string $glue

Return Value

string

Collection intersect(mixed $items)

Intersect the collection with the given items.

Parameters

mixed $items

Return Value

Collection

bool isEmpty()

Determine if the collection is empty or not.

Return Value

bool

protected bool useAsCallable(mixed $value)

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

Parameters

mixed $value

Return Value

bool

Collection keys()

Get the keys of the collection items.

Return Value

Collection

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

Get the last item from the collection.

Parameters

callable $callback
mixed $default

Return Value

mixed

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

Get the values of a given key.

Parameters

string $value
string|null $key

Return Value

Collection

Collection lists(string $value, string|null $key = null)

Alias for the "pluck" method.

Parameters

string $value
string|null $key

Return Value

Collection

Collection map(callable $callback)

Run a map over each of the items.

Parameters

callable $callback

Return Value

Collection

Collection flatMap(callable $callback)

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

Parameters

callable $callback

Return Value

Collection

mixed max(string|null $key = null)

Get the max value of a given key.

Parameters

string|null $key

Return Value

mixed

Collection merge(mixed $items)

Merge the collection with the given items.

Parameters

mixed $items

Return Value

Collection

mixed min(string|null $key = null)

Get the min value of a given key.

Parameters

string|null $key

Return Value

mixed

Collection only(mixed $keys)

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

Parameters

mixed $keys

Return Value

Collection

Collection forPage(int $page, int $perPage)

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

Parameters

int $page
int $perPage

Return Value

Collection

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 $value)

Push an item onto the end of the collection.

Parameters

mixed $value

Return Value

$this

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

mixed random(int $amount = 1)

Get one or more items randomly from the collection.

Parameters

int $amount

Return Value

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

Collection reject(callable|mixed $callback)

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

Parameters

callable|mixed $callback

Return Value

Collection

Collection reverse()

Reverse items order.

Return Value

Collection

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

Collection shuffle()

Shuffle the items in the collection.

Return Value

Collection

Collection slice(int $offset, int $length = null, bool $preserveKeys = false)

Slice the underlying collection array.

Parameters

int $offset
int $length
bool $preserveKeys

Return Value

Collection

Collection chunk(int $size, bool $preserveKeys = false)

Chunk the underlying collection array.

Parameters

int $size
bool $preserveKeys

Return Value

Collection

Collection sort(callable $callback = null)

Sort through each item with a callback.

Parameters

callable $callback

Return Value

Collection

Collection 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

Collection

Collection 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

Collection

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

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

Get the sum of the given values.

Parameters

callable|string|null $callback

Return Value

mixed

Collection take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Collection

$this transform(callable $callback)

Transform each item in the collection using a callback.

Parameters

callable $callback

Return Value

$this

Collection unique(string|callable|null $key = null)

Return only unique items from the collection.

Parameters

string|callable|null $key

Return Value

Collection

Collection values()

Reset the keys on the underlying array.

Return Value

Collection

protected callable valueRetriever(string $value)

Get a value retrieving callback.

Parameters

string $value

Return Value

callable

Collection zip(mixed $items)

Zip the collection together with one or more arrays.

e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); => [[1, 4], [2, 5], [3, 6]]

Parameters

mixed $items

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)

Get the collection of items as JSON.

Parameters

int $options

Return Value

string

ArrayIterator getIterator()

Get an iterator for the items.

Return Value

ArrayIterator

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

Get a CachingIterator instance.

Parameters

int $flags

Return Value

CachingIterator

int count()

Count the number of items in the collection.

Return Value

int

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

string __toString()

Convert the collection to its string representation.

Return Value

string

protected array getArrayableItems(mixed $items)

Results array of items from Collection or Arrayable.

Parameters

mixed $items

Return Value

array

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

Find a model in the collection by key.

Parameters

mixed $key
mixed $default

Return Value

Model

$this load(mixed $relations)

Load a set of relationships onto the collection.

Parameters

mixed $relations

Return Value

$this

$this add(mixed $item)

Add an item to the collection.

Parameters

mixed $item

Return Value

$this

array modelKeys()

Get the array of primary keys.

Return Value

array

$this withHidden(array|string $attributes)

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

Parameters

array|string $attributes

Return Value

$this

array getDictionary(ArrayAccess|array $items = null)

Get a dictionary keyed by primary keys.

Parameters

ArrayAccess|array $items

Return Value

array

Collection toBase()

Get a base Support collection instance from this collection.

Return Value

Collection

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