如何在 Laravel 4 中手动创建一个新的空 Eloquent Collection

时间:2023-03-04
本文介绍了如何在 Laravel 4 中手动创建一个新的空 Eloquent Collection的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我们如何在 Laravel 4 中创建一个新的 Eloquent 集合,而不使用查询生成器?

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);

这篇关于如何在 Laravel 4 中手动创建一个新的空 Eloquent Collection的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何从 Laravel 的表中获取所有行(也被软删除)? 下一篇:Laravel Eloquent 和多重连接

相关文章