Saltar al contenido

Cómo crear manualmente una nueva Eloquent Collection vacía en Laravel 4

Hacemos una revisión completa cada secciones en nuestro espacio con la meta de enseñarte en todo momento la información veraz y certera.

Solución:

No es realmente Eloquent, para agregar un modelo Eloquent a tu colección tienes algunas opciones:

En Laravel 5 puedes beneficiarte de un ayudante

$c = collect(new Post);

o

$c = collect();
$c->add(new Post);

VIEJO Laravel 4 RESPUESTA

$c = new IlluminateDatabaseEloquentCollection;

y entonces puedes

$c->add(new Post);

O podrías usar hacer:

$c = Collection::make(new Post);

A partir de Laravel 5. Uso la función global. collect()

$collection = collect([]); // initialize an empty array [] inside to start empty collection

esta sintaxis es muy clara y también puede agregar compensaciones si no desea el índice numérico, así:

$collection->offsetSet('foo', $foo_data); // similar to add function but with
$collection->offsetSet('bar', $bar_data); // an assigned index

De hecho, he encontrado que usando newCollection() es más prueba de futuro….

Ejemplo:

$collection = (new Post)->newCollection();

De esa manera, si decide crear su propia clase de colección para su modelo (como lo he hecho varias veces) en una etapa posterior, es mucho más fácil refactorizar su código, ya que simplemente anula el newCollection() función en su modelo

Te invitamos a añadir valor a nuestro contenido aportando tu veteranía en las aclaraciones.

¡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 *