collect()
en Laravel
La función collect()
convierte un array o una instancia de un objeto en una colección. Esto permite acceder a una amplia gama de métodos que ayudan a manipular y transformar los datos fácilmente.
$collection = collect([1, 2, 3, 4, 5]);
En este ejemplo, $collection
es ahora una instancia de Collection
que se puede manipular usando métodos como filter()
, map()
, sum()
, entre otros.
collect()
1. Filtrar elementos:
$collection = collect([1, 2, 3, 4, 5]);
$filtered = $collection->filter(function ($value) {
return $value > 2;
});
// Resultado: [3, 4, 5]
2. Mapear datos para transformarlos:
$collection = collect([1, 2, 3]);
$mapped = $collection->map(function ($item) {
return $item * 2;
});
// Resultado: [2, 4, 6]
3. Obtener la suma de los valores:
$collection = collect([1, 2, 3, 4]);
$total = $collection->sum();
// Resultado: 10
4. Agrupar elementos por un criterio:
$collection = collect([
['name' => 'Alice', 'department' => 'IT'],
['name' => 'Bob', 'department' => 'HR'],
['name' => 'Charlie', 'department' => 'IT'],
]);
$grouped = $collection->groupBy('department');
// Resultado: ['IT' => [...], 'HR' => [...]]
Para conocer todas las funcionalidades de las colecciones, consulta la documentación oficial de Laravel sobre colecciones.
Jorge García
Fullstack developer