如何在 Laravel 4 中手动创建一个新的空 Eloquent 集合
我们如何在 Laravel 4 中创建一个新的 Eloquent 集合,而不使用 Query Builder?
How do we create a new Eloquent Collection in Laravel 4, without using Query Builder?
有一个 newCollection()
方法可以被覆盖,但它并不能真正发挥作用,因为它只在我们查询集合结果时使用.
There is a newCollection()
method which can be overridden by that doesn't really do job because that is only being used when we are querying a set result.
我正在考虑构建一个空集合,然后用 Eloquent 对象填充它.我不使用数组的原因是因为我喜欢 Eloquent Collections 方法,例如 contains
.
I was thinking of building an empty Collection, then fill it with Eloquent objects. The reason I'm not using array is because I like Eloquent Collections methods such as contains
.
如果还有其他选择,我很想听听.
If there are other alternatives, I would love to hear them out.
推荐答案
这并不是真正的 Eloquent,将 Eloquent 模型添加到您的集合中,您有一些选择:
It's not really Eloquent, to add an Eloquent model to your collection you have some options:
在 Laravel 5 中,您可以从助手中受益
In Laravel 5 you can benefit from a helper
$c = collect(new Post);
或
$c = collect();
$c->add(new Post);
老 Laravel 4 答案
$c = new IlluminateDatabaseEloquentCollection;
然后你就可以了
$c->add(new Post);
或者你可以使用make:
Or you could use make:
$c = Collection::make(new Post);
相关文章