Laravel Collections

Laravel
Tempo de leitura: 3 minutos

Laravel Collections: O Laravel, um dos frameworks PHP mais populares, oferece uma ferramenta poderosa e intuitiva para trabalhar com conjuntos de dados: as Laravel Collections. As Collections proporcionam uma interface fluente e expressiva para manipular arrays de dados, tornando o desenvolvimento mais eficiente e menos propenso a erros.

Neste artigo, vamos explorar em detalhes o que são as Laravel Collections, como criá-las, os métodos mais utilizados e o conceito de Lazy Collections. Com exemplos práticos, você aprenderá a dominar essa ferramenta e otimizar suas aplicações Laravel.

Criando uma Collection

Uma Collection no Laravel é um objeto que encapsula um array de dados. Existem diversas formas de criar uma Collection:

A partir de um array:

PHP

use Illuminate\Support\Collection;

$collection = collect(['apple', 'banana', 'cherry']);

A partir de uma consulta ao banco de dados:

PHP

$users = DB::table('users')->get();

A partir de um objeto:

PHP

$user = new User;
$collection = collect($user->toArray());

Métodos Mais Utilizados em Collections

As Collections oferecem uma vasta gama de métodos para manipular dados. Alguns dos mais comuns são:

  • map: Aplica uma função a cada item da Collection e retorna uma nova Collection com os resultados.

PHP

$squared = $collection->map(function ($item) {
    return $item * $item;
});
  • filter: Filtra os itens de uma Collection com base em uma condição.

PHP

$filtered = $collection->filter(function ($item) {
    return $item === 'banana';
});
  • reduce: Reduz uma Collection a um único valor.

PHP

$sum = $collection->reduce(function ($carry, $item) {
    return $carry + $item;
});
  • sort: Ordena os itens de uma Collection.

PHP

$sorted = $collection->sort();
  • groupBy: Agrupa os itens de uma Collection com base em uma chave.

PHP

$grouped = $collection->groupBy('type');
  • first: Retorna o primeiro item da Collection.
  • last: Retorna o último item da Collection.
  • contains: Verifica se um item existe na Collection.

Outros métodos úteis:

  • each: Executa uma função para cada item da Collection.
  • pluck: Extrai um valor específico de cada item da Collection.
  • unique: Remove itens duplicados de uma Collection.
  • merge: Combina duas Collections.

Lazy Collections

Lazy Collections são uma forma eficiente de trabalhar com grandes conjuntos de dados. Ao invés de carregar todos os dados na memória de uma só vez, as Lazy Collections processam os dados à medida que são necessários. Isso pode resultar em um grande ganho de performance, especialmente quando se trabalha com conjuntos de dados muito grandes.

Para criar uma Lazy Collection, utilize o método lazy() em uma Collection:

PHP

$lazyCollection = collect($users)->lazy();

Exemplo de uso de Lazy Collection:

PHP

$sum = $lazyCollection->filter(function ($user) {
    return $user->age > 30;
})->map(function ($user) {
    return $user->salary;
})->sum();

Neste exemplo, a Collection é filtrada e mapeada de forma lazy, evitando carregar todos os dados na memória de uma só vez.

Conclusão

Laravel Collections: As Laravel Collections proporcionam uma forma elegante e eficiente de trabalhar com dados em suas aplicações Laravel. Ao dominar os métodos e conceitos apresentados neste artigo, você poderá escrever código mais conciso, expressivo e performático.

Mas antes de dominar o Laravel, se for o seu caso, toda jornada tem um início. Vamos entender quais são os conhecimentos básicos necessários para aproveitar ao máximo este poderoso framework. Para iniciar seus estudos no Laravel, você precisará dominar as seguintes tecnologias:

HTML
HTML
CSS
CSS
Javascript
JavaScript
SQL
SQL
Capa Curso PHP
PHP

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi