How to manually create a new empty Eloquent Collection in Laravel 4

As of Laravel 5. I use the global function collect()

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

this syntax is very clean and you can also add offsets if you don't want the numeric index, like so:

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

It's not really Eloquent, to add an Eloquent model to your collection you have some options:

In Laravel 5 you can benefit from a helper

$c = collect(new Post);

or

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

OLD Laravel 4 ANSWER

$c = new \Illuminate\Database\Eloquent\Collection;

And then you can

$c->add(new Post);

Or you could use make:

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