> Faqs > Cómo unir los elementos de una colección al final de los de otra colección en Laravel

Cómo unir los elementos de una colección al final de los de otra colección en Laravel

Tengo dos colecciones en Laravel.

$collection1 = collect([1,4,6]);
$collection2 = collect(['hola', 'laravel']);

Lo que quiero hacer es conseguir que los elementos de la colección 2 estén dentro de la colección 1, al final.

Lo que hago es esto:

$collection1->concat($collection2);

Pero la colección 1, al examinarla, no tiene los elementos de la colección 2. ¿Qué estoy haciendo mal?

Respuestas

Estás usando el método correcto de colecciones Laravel para conseguir que los elementos de la colección se unan a otra colección. El método es concat(), sí, lo que pasa es que este método te devuelve una colección nueva, no modifica la colección anterior.

Lo que tienes que realizar es una asignación de la colección que te devuelve, para volverla a colocar en la variable $collection1.

$collection1 = $collection1->concat($collection2);

Con eso ya lo tendrías tal como quieres.

Agustín
231 5 15 13
Es justo lo que estaba necesitando... a veces no me aclaro con los métodos de las colecciones de Laravel, ya que hay muchos y a veces se diferencian en matices.