Collection
class Collection extends Collection implements QueueableCollection (View source)
Traits
Properties
protected bool | $escapeWhenCastingToString | Indicates that the object's string representation should be escaped when __toString is invoked. |
from EnumeratesValues |
static protected array<int,string> | $proxies | The methods that can be proxied. |
from EnumeratesValues |
TValue> read-only | $average | from EnumeratesValues | |
TValue> read-only | $avg | from EnumeratesValues | |
TValue> read-only | $contains | from EnumeratesValues | |
TValue> read-only | $doesntContain | from EnumeratesValues | |
TValue> read-only | $each | from EnumeratesValues | |
TValue> read-only | $every | from EnumeratesValues | |
TValue> read-only | $filter | from EnumeratesValues | |
TValue> read-only | $first | from EnumeratesValues | |
TValue> read-only | $flatMap | from EnumeratesValues | |
TValue> read-only | $groupBy | from EnumeratesValues | |
TValue> read-only | $keyBy | from EnumeratesValues | |
TValue> read-only | $map | from EnumeratesValues | |
TValue> read-only | $max | from EnumeratesValues | |
TValue> read-only | $min | from EnumeratesValues | |
TValue> read-only | $partition | from EnumeratesValues | |
TValue> read-only | $percentage | from EnumeratesValues | |
TValue> read-only | $reject | from EnumeratesValues | |
TValue> read-only | $skipUntil | from EnumeratesValues | |
TValue> read-only | $skipWhile | from EnumeratesValues | |
TValue> read-only | $some | from EnumeratesValues | |
TValue> read-only | $sortBy | from EnumeratesValues | |
TValue> read-only | $sortByDesc | from EnumeratesValues | |
TValue> read-only | $sum | from EnumeratesValues | |
TValue> read-only | $takeUntil | from EnumeratesValues | |
TValue> read-only | $takeWhile | from EnumeratesValues | |
TValue> read-only | $unique | from EnumeratesValues | |
TValue> read-only | $unless | from EnumeratesValues | |
TValue> read-only | $until | from EnumeratesValues | |
TValue> read-only | $when | from EnumeratesValues | |
static protected array | $macros | The registered string macros. |
from Macroable |
protected | $items | from Collection |
Methods
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Alias for the "contains" method.
Execute a callback over each nested chunk of items.
Determine if all items pass the given truth test.
Get the first item by the given key value pair.
"Paginate" the collection by slicing it into a smaller collection.
No description
Calculate the percentage of items that pass a given truth test.
Apply the callback if the collection is empty.
Apply the callback if the collection is not empty.
Apply the callback unless the collection is empty.
Apply the callback unless the collection is not empty.
Filter items by the given key value pair.
Filter items where the value for the given key is null.
Filter items where the value for the given key is not null.
Filter items by the given key value pair using strict comparison.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Filter items such that the value of the given key is between the given values.
Filter items such that the value of the given key is not between the given values.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Pass the collection to the given callback and return the result.
Pass the collection into a new class.
Pass the collection through a series of callable pipes and return the result.
Reduce the collection to a single value.
Reduce the collection to multiple aggregate values.
Reduce an associative collection to a single value.
Create a collection of all elements that do not pass a given truth test.
Pass the collection to the given callback and then return it.
Return only unique items from the collection.
Return only unique items from the collection array using strict comparison.
Get a CachingIterator instance.
Indicate that the model's string representation should be escaped when __toString is invoked.
Add a method to the list of proxied methods.
Get an operator checker callback.
Determine if the given value is callable, but not a string.
Get a value retrieving callback.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Get the median of a given key.
Get the mode of a given key.
Collapse the collection of items into a single array.
Determine if a key exists in the collection.
Determine if an item exists, using strict comparison.
Determine if an item is not contained in the collection.
Diff the collection with the given items.
Get the items in the collection that are not present in the given items, using the callback.
Get the items in the collection whose keys and values are not present in the given items.
Get the items in the collection whose keys and values are not present in the given items, using the callback.
Get the items in the collection whose keys are not present in the given items.
Get the items in the collection whose keys are not present in the given items, using the callback.
Retrieve duplicate items from the collection.
Retrieve duplicate items from the collection using strict comparison.
Get the comparison function to detect duplicates.
Returns all models in the collection except the models with specified keys.
Run a filter over each of the items.
Get a flattened array of the items in the collection.
Flip the items in the collection.
Concatenate values of a given key as a string.
Intersect the collection with the given items.
Intersect the collection with the given items, using the callback.
Intersect the collection with the given items with additional index check.
Intersect the collection with the given items with additional index check, using the callback.
Intersect the collection with the given items by key.
Join all items from the collection using a string. The final items can use a separate glue string.
Get the keys of the collection items.
Get an array with the values of a given key.
No description
No description
Merge the collection with the given items.
Multiply the items in the collection by the multiplier.
Create a new collection consisting of every n-th element.
Returns only the models from the collection with the specified keys.
Select specific values from the items within the collection.
Push an item onto the beginning of the collection.
Push one or more items onto the end of the collection.
Prepend one or more items to the beginning of the collection.
Replace the collection items with the given items.
Recursively replace the collection items with the given items.
Search the collection for a given value and return the corresponding key if successful.
Get the item before the given item.
Skip items in the collection until the given condition is met.
Skip items in the collection while the given condition is met.
Slice the underlying collection array.
Get the first item in the collection, but only if exactly one item exists. Otherwise, throw an exception.
Get the first item in the collection but throw an exception if no matching items exist.
Sort the collection using the given callback.
Sort the collection using multiple comparisons.
Sort the collection in descending order using the given callback.
Sort the collection keys.
Sort the collection keys in descending order.
Sort the collection keys using a callback.
Splice a portion of the underlying collection array.
Take items in the collection until the given condition is met.
Take items in the collection while the given condition is met.
Transform each item in the collection using a callback.
Zip the collection together with one or more arrays.
Pad collection to the specified length with a value.
Count the number of items in the collection by a field or using a callback.
Get a dictionary key attribute - casting it to a string if necessary.
Find a model in the collection by key.
Find a model in the collection by key or throw an exception.
Load a set of relationships onto the collection.
Load a set of aggregations over relationship's column onto the collection.
Load a set of relationship counts onto the collection.
Load a set of relationship's max column values onto the collection.
Load a set of relationship's min column values onto the collection.
Load a set of relationship's column summations onto the collection.
Load a set of relationship's average column values onto the collection.
Load a set of related existences onto the collection.
Load a set of relationships onto the collection if they are not already eager loaded.
Load a relationship path if it is not already eager loaded.
Load a set of relationships onto the mixed relationship collection.
Load a set of relationship counts onto the mixed relationship collection.
Get the array of primary keys.
Reload a fresh model instance from the database for all the entities.
Make the given, typically visible, attributes hidden across the entire collection.
Make the given, typically hidden, attributes visible across the entire collection.
Set the visible attributes across the entire collection.
Set the hidden attributes across the entire collection.
Append an attribute across the entire collection.
Get a dictionary keyed by primary keys.
Get the type of the entities being queued.
Get the identifiers for all of the entities.
Get the relationships of the entities being queued.
Get the connection of the entities being queued.
Get the Eloquent query builder from the collection.
Details
$this|TWhenReturnType
when($value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) truthy.
$this|TUnlessReturnType
unless($value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) falsy.
static
make($items = [])
No description
static
wrap($value)
No description
static
unwrap($value)
No description
static EnumeratesValues
empty()
Create a new instance with no items.
static
times($number, callable|null $callback = null)
No description
float|int|null
avg($callback = null)
Get the average value of a given key.
float|int|null
average($callback = null)
Alias for the "avg" method.
bool
some($key, mixed $operator = null, mixed $value = null)
Alias for the "contains" method.
never
dd(mixed ...$args)
Dump the given arguments and terminate execution.
$this
dump(mixed ...$args)
Dump the items.
$this
each(callable $callback)
Execute a callback over each item.
EnumeratesValues
eachSpread(callable $callback)
Execute a callback over each nested chunk of items.
bool
every($key, mixed $operator = null, mixed $value = null)
Determine if all items pass the given truth test.
TValue|null
firstWhere(callable|string $key, mixed $operator = null, mixed $value = null)
Get the first item by the given key value pair.
value($key, $default = null)
No description
ensure($type)
No description
bool
isNotEmpty()
Determine if the collection is not empty.
mapSpread(callable $callback)
No description
mapToGroups(callable $callback)
No description
flatMap(callable $callback)
No description
mapInto($class)
No description
mixed
min($callback = null)
Get the min value of a given key.
mixed
max($callback = null)
Get the max value of a given key.
EnumeratesValues
forPage(int $page, int $perPage)
"Paginate" the collection by slicing it into a smaller collection.
partition($key, $operator = null, $value = null)
No description
float|null
percentage(callable $callback, int $precision = 2)
Calculate the percentage of items that pass a given truth test.
mixed
sum($callback = null)
Get the sum of the given values.
$this|TWhenEmptyReturnType
whenEmpty(callable $callback, callable|null $default = null)
Apply the callback if the collection is empty.
$this|TWhenNotEmptyReturnType
whenNotEmpty(callable $callback, callable|null $default = null)
Apply the callback if the collection is not empty.
$this|TUnlessEmptyReturnType
unlessEmpty(callable $callback, callable|null $default = null)
Apply the callback unless the collection is empty.
$this|TUnlessNotEmptyReturnType
unlessNotEmpty(callable $callback, callable|null $default = null)
Apply the callback unless the collection is not empty.
EnumeratesValues
where(callable|string $key, mixed $operator = null, mixed $value = null)
Filter items by the given key value pair.
EnumeratesValues
whereNull(string|null $key = null)
Filter items where the value for the given key is null.
EnumeratesValues
whereNotNull(string|null $key = null)
Filter items where the value for the given key is not null.
EnumeratesValues
whereStrict(string $key, mixed $value)
Filter items by the given key value pair using strict comparison.
EnumeratesValues
whereIn(string $key, Arrayable|iterable $values, bool $strict = false)
Filter items by the given key value pair.
EnumeratesValues
whereInStrict(string $key, Arrayable|iterable $values)
Filter items by the given key value pair using strict comparison.
EnumeratesValues
whereBetween(string $key, Arrayable|iterable $values)
Filter items such that the value of the given key is between the given values.
EnumeratesValues
whereNotBetween(string $key, Arrayable|iterable $values)
Filter items such that the value of the given key is not between the given values.
EnumeratesValues
whereNotIn(string $key, Arrayable|iterable $values, bool $strict = false)
Filter items by the given key value pair.
EnumeratesValues
whereNotInStrict(string $key, Arrayable|iterable $values)
Filter items by the given key value pair using strict comparison.
whereInstanceOf($type)
No description
TPipeReturnType
pipe(callable $callback)
Pass the collection to the given callback and return the result.
TPipeIntoValue
pipeInto(TPipeIntoValue> $class)
Pass the collection into a new class.
mixed
pipeThrough(callable[] $callbacks)
Pass the collection through a series of callable pipes and return the result.
TReduceReturnType
reduce(callable $callback, TReduceInitial $initial = null)
Reduce the collection to a single value.
array
reduceSpread(callable $callback, mixed ...$initial)
Reduce the collection to multiple aggregate values.
TReduceWithKeysReturnType
reduceWithKeys(callable $callback, TReduceWithKeysInitial $initial = null)
Reduce an associative collection to a single value.
EnumeratesValues
reject($callback = true)
Create a collection of all elements that do not pass a given truth test.
$this
tap(callable $callback)
Pass the collection to the given callback and then return it.
Enumerable
unique($key = null, bool $strict = false)
Return only unique items from the collection.
EnumeratesValues
uniqueStrict($key = null)
Return only unique items from the collection array using strict comparison.
TValue>
collect()
Collect the values into a collection.
toArray()
No description
array
jsonSerialize()
No description
string
toJson(int $options = 0)
Get the collection of items as JSON.
CachingIterator
getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)
Get a CachingIterator instance.
string
__toString()
Convert the collection to its string representation.
$this
escapeWhenCastingToString(bool $escape = true)
Indicate that the model's string representation should be escaped when __toString is invoked.
static void
proxy(string $method)
Add a method to the list of proxied methods.
mixed
__get(string $key)
Dynamically access collection proxies.
protected
getArrayableItems($items)
No description
protected Closure
operatorForWhere(callable|string $key, string|null $operator = null, mixed $value = null)
Get an operator checker callback.
protected bool
useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
protected callable
valueRetriever(callable|string|null $value)
Get a value retrieving callback.
protected
equality(mixed $value)
Make a function to check an item's equality.
protected Closure
negate(Closure $callback)
Make a function using another function, by negating its result.
protected
identity()
Make a function that returns what's passed to it.
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static void
flushMacros()
Flush the existing macros.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
void
__construct(TValue>|TValue>|null $items = [])
Create a new collection.
static Enumerable
range(int $from, int $to, int $step = 1)
No description
array
all()
No description
TValue>
lazy()
Get a lazy collection for the items in this collection.
float|int|null
median(string|array<array-key,string>|null $key = null)
Get the median of a given key.
array<int,float|int>|null
mode(string|array<array-key,string>|null $key = null)
Get the mode of a given key.
collapse()
Collapse the collection of items into a single array.
collapseWithKeys()
No description
bool
contains($key, mixed $operator = null, mixed $value = null)
Determine if a key exists in the collection.
bool
containsStrict($key, TValue|null $value = null)
Determine if an item exists, using strict comparison.
bool
doesntContain(mixed $key, mixed $operator = null, mixed $value = null)
Determine if an item is not contained in the collection.
crossJoin(...$lists)
No description
Enumerable
diff(TValue>|TValue> $items)
Diff the collection with the given items.
Enumerable
diffUsing(TValue>|TValue> $items, callable $callback)
Get the items in the collection that are not present in the given items, using the callback.
Enumerable
diffAssoc(TValue>|TValue> $items)
Get the items in the collection whose keys and values are not present in the given items.
Enumerable
diffAssocUsing(TValue>|TValue> $items, callable $callback)
Get the items in the collection whose keys and values are not present in the given items, using the callback.
Enumerable
diffKeys(TKey,mixed>|TKey,mixed> $items)
Get the items in the collection whose keys are not present in the given items.
Enumerable
diffKeysUsing(TKey,mixed>|TKey,mixed> $items, callable $callback)
Get the items in the collection whose keys are not present in the given items, using the callback.
Enumerable
duplicates($callback = null, bool $strict = false)
Retrieve duplicate items from the collection.
Enumerable
duplicatesStrict($callback = null)
Retrieve duplicate items from the collection using strict comparison.
protected
duplicateComparator(bool $strict)
Get the comparison function to detect duplicates.
Enumerable
except(TKey>|TKey> $keys)
Returns all models in the collection except the models with specified keys.
Enumerable
filter(callable|null $callback = null)
Run a filter over each of the items.
first(callable|null $callback = null, $default = null)
No description
Enumerable
flatten(int $depth = INF)
Get a flattened array of the items in the collection.
flip()
Flip the items in the collection.
$this
forget($keys)
Remove an item from the collection by key.
\Illuminate\Contracts\Support\Arrayable<array-key, TValue>|iterable<array-key, TKey>|TKey $keys
get($key, $default = null)
No description
getOrPut($key, $value)
No description
groupBy($groupBy, $preserveKeys = false)
No description
keyBy($keyBy)
No description
bool
has(TKey|TKey> $key)
Determine if an item exists in the collection by key.
bool
hasAny(mixed $key)
Determine if any of the keys exist in the collection.
string
implode($value, string|null $glue = null)
Concatenate values of a given key as a string.
Enumerable
intersect(TValue>|TValue> $items)
Intersect the collection with the given items.
Enumerable
intersectUsing(TValue>|TValue> $items, callable $callback)
Intersect the collection with the given items, using the callback.
Enumerable
intersectAssoc(TValue>|TValue> $items)
Intersect the collection with the given items with additional index check.
Enumerable
intersectAssocUsing(TValue>|TValue> $items, callable $callback)
Intersect the collection with the given items with additional index check, using the callback.
Enumerable
intersectByKeys(TKey,mixed>|TKey,mixed> $items)
Intersect the collection with the given items by key.
bool
isEmpty()
Determine if the collection is empty or not.
bool
containsOneItem()
Determine if the collection contains a single item.
string
join(string $glue, string $finalGlue = '')
Join all items from the collection using a string. The final items can use a separate glue string.
keys()
Get the keys of the collection items.
last(callable|null $callback = null, $default = null)
No description
pluck($value, $key = null)
Get an array with the values of a given key.
map(callable $callback)
No description
mapToDictionary(callable $callback)
No description
mapWithKeys(callable $callback)
No description
Enumerable
merge(TValue>|TValue> $items)
Merge the collection with the given items.
mergeRecursive($items)
No description
Collection
multiply(int $multiplier)
Multiply the items in the collection by the multiplier.
combine($values)
No description
Enumerable
union(TValue>|TValue> $items)
Union the collection with the given items.
Enumerable
nth(int $step, int $offset = 0)
Create a new collection consisting of every n-th element.
Enumerable
only(TKey>|TKey>|string $keys)
Returns only the models from the collection with the specified keys.
Collection
select(TKey>|TKey>|string|null $keys)
Select specific values from the items within the collection.
pop($count = 1)
No description
$this
prepend(TValue $value, TKey $key = null)
Push an item onto the beginning of the collection.
$this
push(TValue ...$values)
Push one or more items onto the end of the collection.
$this
unshift(TValue ...$values)
Prepend one or more items to the beginning of the collection.
concat($source)
No description
pull($key, $default = null)
No description
$this
put(TKey $key, TValue $value)
Put an item in the collection by key.
random($number = null, $preserveKeys = false)
No description
Enumerable
replace(TValue>|TValue> $items)
Replace the collection items with the given items.
Enumerable
replaceRecursive(TValue>|TValue> $items)
Recursively replace the collection items with the given items.
Enumerable
reverse()
Reverse items order.
TKey|bool
search($value, bool $strict = false)
Search the collection for a given value and return the corresponding key if successful.
TValue|null
before($value, bool $strict = false)
Get the item before the given item.
TValue|null
after($value, bool $strict = false)
Get the item after the given item.
shift($count = 1)
No description
Enumerable
shuffle()
Shuffle the items in the collection.
sliding($size = 2, $step = 1)
No description
Enumerable
skip(int $count)
Skip the first {$count} items.
Enumerable
skipUntil($value)
Skip items in the collection until the given condition is met.
Enumerable
skipWhile($value)
Skip items in the collection while the given condition is met.
Enumerable
slice(int $offset, int|null $length = null)
Slice the underlying collection array.
split($numberOfGroups)
No description
splitIn($numberOfGroups)
No description
TValue
sole($key = null, mixed $operator = null, mixed $value = null)
Get the first item in the collection, but only if exactly one item exists. Otherwise, throw an exception.
TValue
firstOrFail($key = null, mixed $operator = null, mixed $value = null)
Get the first item in the collection but throw an exception if no matching items exist.
chunk($size)
No description
chunkWhile(callable $callback)
No description
Enumerable
sort($callback = null)
Sort through each item with a callback.
Enumerable
sortDesc(int $options = SORT_REGULAR)
Sort items in descending order.
Enumerable
sortBy($callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
protected Collection
sortByMany(array $comparisons = [], int $options = SORT_REGULAR)
Sort the collection using multiple comparisons.
Enumerable
sortByDesc($callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
Enumerable
sortKeys(int $options = SORT_REGULAR, bool $descending = false)
Sort the collection keys.
Enumerable
sortKeysDesc(int $options = SORT_REGULAR)
Sort the collection keys in descending order.
Enumerable
sortKeysUsing(callable $callback)
Sort the collection keys using a callback.
Collection
splice(int $offset, int|null $length = null, TValue> $replacement = [])
Splice a portion of the underlying collection array.
Enumerable
take(int $limit)
Take the first or last {$limit} items.
Enumerable
takeUntil($value)
Take items in the collection until the given condition is met.
Enumerable
takeWhile($value)
Take items in the collection while the given condition is met.
$this
transform(callable $callback)
Transform each item in the collection using a callback.
Collection
dot()
Flatten a multi-dimensional associative array with dots.
Enumerable
undot()
Convert a flatten "dot" notation array into an expanded array.
values()
No description
zip($items)
Zip the collection together with one or more arrays.
pad($size, $value)
Pad collection to the specified length with a value.
Traversable
getIterator()
Get an iterator for the items.
int
count()
Count the number of items in the collection.
countBy($countBy = null)
Count the number of items in the collection by a field or using a callback.
$this
add(TValue $item)
Add an item to the collection.
TValue>
toBase()
Get a base Support collection instance from this collection.
bool
offsetExists(TKey $key)
Determine if an item exists at an offset.
mixed
offsetGet(TKey $key)
Get an item at a given offset.
void
offsetSet(TKey|null $key, TValue $value)
Set the item at a given offset.
void
offsetUnset(TKey $key)
Unset the item at a given offset.
protected mixed
getDictionaryKey(mixed $attribute)
Get a dictionary key attribute - casting it to a string if necessary.
find(mixed $key, TFindDefault $default = null)
Find a model in the collection by key.
TModel
findOrFail(mixed $key)
Find a model in the collection by key or throw an exception.
$this
load($relations)
Load a set of relationships onto the collection.
$this
loadAggregate($relations, string $column, string|null $function = null)
Load a set of aggregations over relationship's column onto the collection.
$this
loadCount($relations)
Load a set of relationship counts onto the collection.
$this
loadMax($relations, string $column)
Load a set of relationship's max column values onto the collection.
$this
loadMin($relations, string $column)
Load a set of relationship's min column values onto the collection.
$this
loadSum($relations, string $column)
Load a set of relationship's column summations onto the collection.
$this
loadAvg($relations, string $column)
Load a set of relationship's average column values onto the collection.
$this
loadExists($relations)
Load a set of related existences onto the collection.
$this
loadMissing($relations)
Load a set of relationships onto the collection if they are not already eager loaded.
protected void
loadMissingRelation(Collection $models, array $path)
Load a relationship path if it is not already eager loaded.
$this
loadMorph(string $relation, $relations)
Load a set of relationships onto the mixed relationship collection.
$this
loadMorphCount(string $relation, $relations)
Load a set of relationship counts onto the mixed relationship collection.
array<int,array-key>
modelKeys()
Get the array of primary keys.
Collection
fresh(array<array-key,string>|string $with = [])
Reload a fresh model instance from the database for all the entities.
$this
makeHidden(array<array-key,string>|string $attributes)
Make the given, typically visible, attributes hidden across the entire collection.
$this
makeVisible(array<array-key,string>|string $attributes)
Make the given, typically hidden, attributes visible across the entire collection.
$this
setVisible(array<int,string> $visible)
Set the visible attributes across the entire collection.
$this
setHidden(array<int,string> $hidden)
Set the hidden attributes across the entire collection.
$this
append(array<array-key,string>|string $attributes)
Append an attribute across the entire collection.
TModel>
getDictionary(TModel>|null $items = null)
Get a dictionary keyed by primary keys.
string|null
getQueueableClass()
Get the type of the entities being queued.
protected string
getQueueableModelClass(Model $model)
Get the queueable class name for the given model.
array<int,mixed>
getQueueableIds()
Get the identifiers for all of the entities.
array<int,string>
getQueueableRelations()
Get the relationships of the entities being queued.
string|null
getQueueableConnection()
Get the connection of the entities being queued.
TModel>
toQuery()
Get the Eloquent query builder from the collection.