> Faqs > Cómo unir dos colecciones Laravel, poniendo una detrás de la otra, unidas en una única colección

Cómo unir dos colecciones Laravel, poniendo una detrás de la otra, unidas en una única colección

Tengo dos colecciones en Laravel, quiero unirlas para colocar los elementos de una colección junto con los de otra. El orden es indiferente, pueden colocarse los de una colección y luego los de otra.

No encuentro el método adecuado para usar en esta operación tan simple con colecciones. Debe de haber uno. ¿no?

No sería un merge, porque no quiero que se unan eliminando los repetidos. No se trata de eso, sino poner los elementos de una colección después de los de la otra, indiferente que estén o no repetidos.

Respuestas

Efectivamente, el método que buscas es concat().

Con concat() añades los elementos de una colección, sin importar cuales sean, a los de la otra colección.

$primeraColeccion = collect(['uno', 'dos', 'seis']);
$segundaColeccion = collect(['cero', 'dos', 'tres']);

$sumar = $primeraColeccion->concat($segundaColeccion);

La colección resultante de esta operación ($suma) sería:

[ "uno", "dos", "seis", "cero", "dos","tres" ]

Simplemente añadió los elementos al final, sin tratar posibles repetidos.

Miguel Angel
3310 147 216 17