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.