如何在 Laravel 4 中手动创建新的空 Eloquent Collection
如何在 Laravel 4 中创建新的 Eloquent 集合,而无需使用查询生成器?
有一种方法可以被覆盖,它并没有真正完成工作,因为它仅在我们查询设置的结果时才使用。newCollection()
我正在考虑建立一个空的集合,然后用雄辩的对象填充它。我不使用数组的原因是因为我喜欢雄辩集合方法,例如.contains
如果还有其他选择,我很想听听。
如何在 Laravel 4 中创建新的 Eloquent 集合,而无需使用查询生成器?
有一种方法可以被覆盖,它并没有真正完成工作,因为它仅在我们查询设置的结果时才使用。newCollection()
我正在考虑建立一个空的集合,然后用雄辩的对象填充它。我不使用数组的原因是因为我喜欢雄辩集合方法,例如.contains
如果还有其他选择,我很想听听。
这并不是真正的雄辩,要将雄辩模型添加到您的收藏中,您有一些选择:
在Laravel 5中,您可以从助手中受益
$c = collect(new Post);
或
$c = collect();
$c->add(new Post);
老拉拉维尔 4 答案
$c = new \Illuminate\Database\Eloquent\Collection;
然后你可以
$c->add(new Post);
或者你可以使用 make:
$c = Collection::make(new Post);
截至Laravel 5。我使用全局函数collect()
$collection = collect([]); // initialize an empty array [] inside to start empty collection
这个语法非常干净,如果你不需要数字索引,你也可以添加偏移量,就像这样:
$collection->offsetSet('foo', $foo_data); // similar to add function but with
$collection->offsetSet('bar', $bar_data); // an assigned index