Collections Laravel 5
30 Mar 2015A Classe Illuminate\Support\Collection
é um wrapper muito conveniente quando de trabalha com uma lista de dados (array).
As collections ou coleções são amplamente usadas no Laravel.
// Namespace
use Illuminate\Support\Collection;
$collectionion = new Collection([1, 2, 3, 4, 5, 6, 7, 8, 10]);
// Facade
$collectionion = Collection::make([1, 2, 3, 4, 5, 6, 7, 8, 10]);
// Helper
$collectionion = collect([1, 2, 3, 4, 5, 6, 7, 8, 10]);
Metodos
all()
Retorna todos os itens da coleção, o array original.
$collection->all();
# Saída
# [1,2,3,4,5,6,7,8,10];
collapse
Transforma os itens da coleção em uma único array.
$collection = collect([
['fruta'=>'maça', 'tempero'=>'pimenta'],
['eletronico'=>'computador']
]
);
return $collection->collapse();
# Saída
# {"fruta":"maça","tempero":"pimenta","eletronico":"computador"}
contains
Verifica se existe o valor dentro de uma coleção se sim retorna
true
se não retornafalse
// Array Simples
$collection = collect(['fruta'=>'maça', 'tempero'=>'pimenta']);
var_dump($collection->contains('maça'));
var_dump($collection->contains('fruta'));
# Saída
# bool(true)
# bool(false)
///ou
// Array Bidimensional
$collection = collect([['fruta'=>'maça', 'tempero'=>'pimenta'], ['pagamento'=>'luz']]);
var_dump($collection->contains('pagamento', 'luz'));
var_dump($collection->contains('maça', 'fruta'));
# Saída
# bool(true)
# bool(false)
diff
Retornar um array fazendo a comparação da diferença entre eles, os que forem diferente ele retorna
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$diff = $collection->diff([11,12,13,14,15,16,17,18,19,20]);
var_dump($diff);
# Saída
[1,2,3,4,5,6,7,8,9,10];
// ou
$collection = collect([1, 2, 3]);
$diff = $collection->diff([1, 2]);
var_dump($diff);
# Saída
# {"2":3} // aonde o número 3 é a diferença entres as coleções.
each
executa uma
function
sobre cada item, ele vai retornar ele mesmo, a função principal é interagir em cada posição e utilizar da melhor maneira fazendo alterações em um lista de informações por exemplo:
// Array Simples
$collection = collect([1, 2, 3]);
$newCollection = $collection->each(function($i) { return $i*2; });
//Saida
[2, 4, 6]
/// ou
// Array Bidimensioanl
$collection = collect([[1, 2, 3],[4, 5, 6]]);
echo $collection->collapse()->each(function($item) {
return $item;
});
// Saida
[1, 2, 3, 4, 5, 6]
## Observação eu fiz uma união dos arrays dessa coleção para ficar mais fácil a execução da função em cada item.
fetch
Busca pela posição o elemento em um array bidimensional._
$collection = collect([[1, 2, 3, 4, 5, 6],[4,5,6],[0]]);
var_dump($collection->fetch(2));
//Saida
# object(Illuminate\Support\Collection)#174 (1) {
# ["items":protected]=> array(2) { [0]=> int(3) [1]=> int(6) }
# }
///ou
var_dump($collection->fetch(2)->toArray());
//Saida
# array(2) { [0]=> int(3) [1]=> int(6) }
filter
faz um filtro em sua coleção e retorna um outra coleção os dados que passaram pelo filtro
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$result = $collection->filter(function($item){
return ($item % 2 === 0);
});
// Saida (somente os números pares)
# {"1": 2,"3": 4,"5": 6,"7": 8,"9": 10}
forPage
Paginação dos resultados
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4'],
['id' => 5, 'status' => 1, 'nome' => 'nome 5']
]
);
var_dump($collection->forPage(0,3));
//Saida
# object(Illuminate\Support\Collection)#174 (1) {
# ["items":protected]=> array(3) {
# [0]=> array(3) { ["id"]=> int(3) ["status"]=> int(1) ["nome"]=> string(6) "nome 3" }
# [1]=> array(3) { ["id"]=> int(4) ["status"]=> int(1) ["nome"]=> string(6) "nome 4" }
# [2]=> array(3) { ["id"]=> int(5) ["status"]=> int(1) ["nome"]=> string(6) "nome 5" }
# }
# }
where ou whereLoose
faz um filtro de valor em um par de chaves informadas.
$collection = collect([
['fruta'=>'maça'],
['fruta'=>'laranja'],
['fruta'=>'abacate']
]);
$result = $collection->where('fruta','laranja');
# Saída
# {"1":{"fruta":"laranja"}}
first
Pega o primeiro item da coleção ou o primeiro item conforme alguma condição.
# Primeiro item da lista
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->first();
//Saida
# 1
///ou
# Primeiro item da lista conforme decisão pela chave.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->first(function($key, $value)
{
return $key > 0;
});
// Saida
2
///ou
# Primeiro item da lista conforme decisão pelo valor.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->first(function($key, $value)
{
return $value > 5;
});
//Saida
#6
flatten
Pega uma matriz coleção.
$collection = collect([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],[12,13],1,50,60,[15,25,26]]);
return $collection->flatten();
//Saida
# [1,2,3,4,5,6,7,8,9,10,12,13,1,50,60,15,25,26]
flip
Trocar chave por valor e valor por chave de uma coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->all());
var_dump($collection->flip());
//Saida
// [1,2,3,4,5,6,7,8,9,10]
// {"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"10":9}
///ou
$collection = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
var_dump($collection->all());
var_dump($collection->flip());
//Saida
// {"fruta 1":"maça","fruta 2":"laranja"}
// {"maça":"fruta 1","laranja":"fruta 2"}
forget
Remove item de uma coleção pela sua chave.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collection->forget(1);
// Saida (o número dois que pertencia a chave 1 foi removido)
// {"0":1,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":9,"9":10}
/// ou
$collection = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
$collection->forget('fruta 1');
//Saida
# {"fruta 2":"laranja"}
get
Resgatar o valor sendo a busca feita pela chave.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->get(0));
//Saida
# 1
///ou
$collection = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
var_dump($collection->get('fruta 1'));
//Saida
# maça
groupBy
Agrupando uma coleção mediante pesquisa feita em uma determinada chave.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->groupBy(function($n){ return $n % 2 === 0;});
//Saida (agrupamento realizado dos valores impares em um coleção e pares em outra)
# [[1,3,5,7,9],[2,4,6,8,10]]
///ou
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4']
]
);
var_dump( $collection->groupBy(function($n){ return $n['status'] === 1; }));
//Saida
# {
# "1":[
# {"id":1,"status":1,"nome":"nome 1"},
# {"id":3,"status":1,"nome":"nome 3"},
# {"id":4,"status":1,"nome":"nome 4"}
# ],
# "0":[
# {"id":2,"status":0,"nome":"nome 2"}
# ]
# }
keyBy [WIP]
has
Determina se o item existente na coleção por um chave.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->has(9));
//Saida
# bool(true)
///ou
$collection = collect(['id' => 1, 'status' => 1, 'nome' => 'nome 1']);
var_dump($collection->has('id'));
//Saida
# bool(true)
implode
Concatenar valores de uma determinada chave como uma string._
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4']
]
);
var_dump($collection->implode('id', '-'));
//Saida
# string(7) "1-2-3-4"
intersect
intersecção a coleção com os objetos disponíveis.
// @TODO
isEmpty()
Função que verifica se não existe itens na coleção
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->isEmpty());
//Saida
#bool(false)
///ou
$collection = collect([]);
var_dump($collection->isEmpty());
//Saida
# bool(true)
keys()
- retornar todas as chaves de uma coleção
```php
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->keys());
//Saida // array(10) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) // [5]=> int(5) [6]=> int(6) [7]=> int(7) [8]=> int(8) [9]=> int(9) // }
/// ou
$collection = collect(['id' => 1, 'status' => 1, 'nome' => 'nome 1']);
var_dump($collection->keys());
//Saida // array(3) {[0]=> string(2) "id" [1]=> string(6) "status" [2]=> string(4) "nome" } ```
last()
Retornaro último item de um array
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 10]);
var_dump($collection->last());
// Saida
# 10
lists
Obter um coleção com os valores de uma chave.
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4']
]
);
var_dump($collection->lists('nome', 'id'));
//Saida
// array(4) { [1]=> string(6) "nome 1"
// [2]=> string(6) "nome 2"
// [3]=> string(6) "nome 3"
// [4]=> string(6) "nome 4"
// }
map
Executar um mapa sobre cada um dos itens.
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4']
]
);
var_dump($collection->map(function($item){
$item['status'] = ($item['status'] === 1);
return $item;
})->all());
//Saida
// array(4) {
// [0]=> array(3) { ["id"]=> int(1) ["status"]=> bool(true) ["nome"]=> string(6) "nome 1" }
// [1]=> array(3) { ["id"]=> int(2) ["status"]=> bool(false) ["nome"]=> string(6) "nome 2" }
// [2]=> array(3) { ["id"]=> int(3) ["status"]=> bool(true) ["nome"]=> string(6) "nome 3" }
// [3]=> array(3) { ["id"]=> int(4) ["status"]=> bool(true) ["nome"]=> string(6) "nome 4" }
// }
merge
Adicionar na atual coleção valores informados.
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4']
]
);
var_dump($collection->merge([['id' => 5, 'status' => 1, 'nome' => 'nome 5']])->toArray());
//Saida
// array(5) {
// [0]=> array(3) { ["id"]=> int(1) ["status"]=> int(1) ["nome"]=> string(6) "nome 1" }
// [1]=> array(3) { ["id"]=> int(2) ["status"]=> int(0) ["nome"]=> string(6) "nome 2" }
// [2]=> array(3) { ["id"]=> int(3) ["status"]=> int(1) ["nome"]=> string(6) "nome 3" }
// [3]=> array(3) { ["id"]=> int(4) ["status"]=> int(1) ["nome"]=> string(6) "nome 4" }
// [4]=> array(3) { ["id"]=> int(5) ["status"]=> int(1) ["nome"]=> string(6) "nome 5" }
// }
pop()
Recupera e exclui o último valor da coleção.
$collection = collect(
[
['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
['id' => 4, 'status' => 1, 'nome' => 'nome 4'],
['id' => 5, 'status' => 1, 'nome' => 'nome 5']
]
);
var_dump($collection->pop());
var_dump($collection->all());
//Saida
# array(3) { ["id"]=> int(5) ["status"]=> int(1) ["nome"]=> string(6) "nome 5" }
# array(4) {
# [0]=> array(3) { ["id"]=> int(1) ["status"]=> int(1) ["nome"]=> string(6) "nome 1" }
# [1]=> array(3) { ["id"]=> int(2) ["status"]=> int(0) ["nome"]=> string(6) "nome 2" }
# [2]=> array(3) { ["id"]=> int(3) ["status"]=> int(1) ["nome"]=> string(6) "nome 3" }
# [3]=> array(3) { ["id"]=> int(4) ["status"]=> int(1) ["nome"]=> string(6) "nome 4" }
# }
prepend
Empurre um item para o início da coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collection->prepend(10);
var_dump($collection->all());
//Saida
# array(11) {
# [0]=> int(10)
# [1]=> int(1)
# [2]=> int(2)
# [3]=> int(3)
# [4]=> int(4)
# [5]=> int(5)
# [6]=> int(6)
# [7]=> int(7)
# [8]=> int(8)
# [9]=> int(9)
# [10]=> int(10)
# }
push
Empurre um item para o final da coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collection->push(1);
var_dump($collection->all());
//Saida
# array(11) {
# [0]=> int(1)
# [1]=> int(2)
# [2]=> int(3)
# [3]=> int(4)
# [4]=> int(5)
# [5]=> int(6)
# [6]=> int(7)
# [7]=> int(8)
# [8]=> int(9)
# [9]=> int(10)
# [10]=> int(1)
# }
pull
Remove um item da coleção pela sua chave._
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collection->pull(1);
var_dump($collection->all());
//Saida
# array(9) {
# [0]=> int(1)
# [2]=> int(3)
# [3]=> int(4)
# [4]=> int(5)
# [5]=> int(6)
# [6]=> int(7)
# [7]=> int(8)
# [8]=> int(9)
# [9]=> int(10)
# }
put
coloque um item na coleção por chave se exister o item é sobreescrito.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collection->put(0,100);
var_dump($collection->all());
//Saida
# array(10) {
# [0]=> int(100)
# [1]=> int(2)
# [2]=> int(3)
# [3]=> int(4)
# [4]=> int(5)
# [5]=> int(6)
# [6]=> int(7)
# [7]=> int(8)
# [8]=> int(9)
# [9]=> int(10)
# }
random
- obter um ou mais itens aleatoriamente a partir da coleção.
```php
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
vardump($collection->random()); vardump($collection->random()); var_dump($collection->random());
//Saida
int(6)
int(3)
int(1)
/// ou
$collection = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
vardump($collection->random()); vardump($collection->random()); var_dump($collection->random());
//Saida
string(7) "laranja"
string(7) "laranja"
string(5) "maça"
___
### reduce
> Reduzir a coleção para um único valor.
```php
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->reduce(function ($a,$b){
return $a + $b;
}));
//Saida
# int(55)
reject
Criar uma coleção de todos os elementos que não passam um determinado teste verdade.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->reject(function ($a){
return ($a % 2 !== 0);
})->toArray());
//Saida
# array(5) {
# [1]=> int(2)
# [3]=> int(4)
# [5]=> int(6)
# [7]=> int(8)
# [9]=> int(10)
# }
reverse()
Itens da coleção em ordem inversa.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->reverse()->toArray());
//Saida
# array(10) {
# [0]=> int(10)
# [1]=> int(9)
# [2]=> int(8)
# [3]=> int(7)
# [4]=> int(6)
# [5]=> int(5)
# [6]=> int(4)
# [7]=> int(3)
# [8]=> int(2)
# [9]=> int(1)
# }
search
Pesquisar a coleção para um dado valor e retornar a chave correspondente caso seja encontrado.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->search(3));
//Saida
# int(2)
shift()
obter e remover o primeiro item da coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->shift());
//Saida
# int(1)
shuffle()
Embaralhar os itens da coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->shuffle());
//Saida
# array(10) {
# [0]=> int(6)
# [1]=> int(9)
# [2]=> int(8)
# [3]=> int(7)
# [4]=> int(3)
# [5]=> int(4)
# [6]=> int(2)
# [7]=> int(5)
# [8]=> int(1)
# [9]=> int(10)
# }
slice
Fatie a matriz coleção subjacente, ou, pega partes informando o inicio e o fim chave.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->slice(3,3, false)->toArray());
//Saida
# array(3) {
# [0]=> int(4)
# [1]=> int(5)
# [2]=> int(6)
# }
chunk
Divide o array em partes conforme quantidade de itens até o fim da coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collection->chunk(3, false)->toArray());
//Saida
# array(4) {
# [0]=> array(3) {[0]=> int(1) [1]=> int(2) [2]=> int(3) }
# [1]=> array(3) {[0]=> int(4) [1]=> int(5) [2]=> int(6) }
# [2]=> array(3) {[0]=> int(7) [1]=> int(8) [2]=> int(9) }
# [3]=> array(1) {[0]=> int(10) }
# }
sort
Ordenar por cada item conforme a
function
.
$collection = collect(['d' => 2, 'a' => 1, 'z' => 0]);
return $collection->sort(function($a, $b){
return $a == $b ? 0: ($a > $b ? 1 : -1);
})->toArray();
//Saida
# { "z": 0, "a": 1, "d": 2}
sortBy
Ordenar por cada item conforme a
function
.
return $collection->sortBy(function($a) {
return $a;
}, SORT_REGULAR, false)->toArray();
//Saida
# {"z":0,"a":1,"d":2}
sortByDesc
apelido do
sortBy
já ordenando para descendente conforme afunction
.
return $collection->sortByDesc(function($a) {
return $a;
}, SORT_REGULAR)->toArray();
//Saida
# {"d":2,"a":1,"z":0}
splice
Retornar partes da coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->splice(5,1);
//Saida
# {6}
sum
Retornar a soma dos elementos.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->sum();
//Saida
#55
///ou
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->sum(function($a){
if ($a > 5)
{
return $a;
}
return 0;
});
//Saida
# 40
take
Quantidade de itens conforme coleção.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->take(5);
return $collection->take(-5);
// Saida
// [1,2,3,4,5]
// [6,7,8,9,10]
transform
Transformar cada item da coleção usando um callback.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collection->transform(function($a)
{
return [$a + 1];
});
// Saida
// [[2],[3],[4],[5],[6],[7],[8],[9],[10],[11]]
unique
Retornar somente os valores únicos em um determinada coleção.
$collection = collect(['roma','pera','roma']);
var_dump($collection->unique()->toArray());
// Saida
// array(2) { [0]=> string(4) "roma" [1]=> string(4) "pera"}
values()
Remove as chaves e retornar somente os valores da coleção.
$collection = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);
var_dump($collection->all());
var_dump($collection->values());
// Saida
// array(3) { ["fruta1"]=> string(4) "roma" ["fruta2"]=> string(4) "pera" ["fruta3"]=> string(4) "roma"}
// array(3) { [0]=> string(4) "roma" [1]=> string(4) "pera" [2]=> string(4) "roma"}
toArray()
Saída da coleção no formato
array
$collection = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);
var_dump($collection->toArray());
// Saida
// array(3) { ["fruta1"]=> string(4) "roma" ["fruta2"]=> string(4) "pera" ["fruta3"]=> string(4) "roma" }
jsonSerialize
Converte o objeto em JSON serializado.
$collection = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);
var_dump($collection->jsonSerialize());
// Saida
// array(3) { ["fruta1"]=> string(4) "roma" ["fruta2"]=> string(4) "pera" ["fruta3"]=> string(4) "roma" }
toJson
Saída da coleção no formato
JSON
.
$collection = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);
var_dump($collection->toJson());
//Saida
// string(49) "{"fruta1":"roma","fruta2":"pera","fruta3":"roma"}"
getIterator()- retornar um
ArrayIterator`
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$iterator = $collection->getIterator();
while ($iterator->valid())
{
echo $iterator->current() . '<br>';
$iterator->next();
}
//Saida
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
getCachingIterator
Retornar um
CachingIterator
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$iterator = $collection->getCachingIterator(\CachingIterator::FULL_CACHE);
while ($iterator->getInnerIterator()->valid())
{
echo $iterator->current() . '<br>';
$iterator->next();
}
// Saida
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
count()
Conta o número de itens de uma coleção
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collection->count();
// Saida
// 10
///ou
$collection = collect([
['fruta'=>'maça', 'tempero'=>'pimenta'],
['eletronico'=>'computador']
]
);
return $collection->count();
// Saida
2