Saltar al contenido

¿Cómo insertar un objeto (objeto de tipo de modelo) en el objeto de colección en Laravel en un número de índice específico?

Solución:

Para insertar un elemento en una colección, consulte esta respuesta; Respuesta

Básicamente, divide la colección, agrega el elemento en el índice correspondiente.


Puede agregar el elemento al EloquentCollection objeto con el add método;

$collection->add($item);  // Laravel 4

o

$collection->push($item); // Laravel 5 

Entonces puedes reordenar la colección usando el sortBy método;

$collection = $collection->sortBy(function($model){ return $model->present_day; });

Esto reordenará la colección por su present_day atributo.


Tenga en cuenta que el código anterior solo funcionará si está utilizando IlluminateDatabaseEloquentCollection. Si está usando un llano EloquentSupportCollection, no hay add método.

En su lugar, puede usar un desplazamiento de matriz vacío, lo mismo que insertar un nuevo elemento en una matriz normal:

$collection[] = $item;

Este formulario también funciona en la versión Eloquent de Collection.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *