Laravel 8 collect() {#collection-method}
2021-07-19 09:33 更新
collect
方法返回一个包含当前集合所含元素的新的 Collection
实例:
$collectionA = collect([1, 2, 3]);
$collectionB = $collectionA->collect();
$collectionB->all();
// [1, 2, 3]
collect
方法主要用于将 懒集合 转换为标准的 Collection
实例:
$lazyCollection = LazyCollection::make(function () {
yield 1;
yield 2;
yield 3;
});
$collection = $lazyCollection->collect();
get_class($collection);
// 'Illuminate\Support\Collection'
$collection->all();
// [1, 2, 3]
技巧:当你有个
Enumerable
实例并需要一个非懒集合实例时,collect
方法相当有用。由于collect()
是Enumerable
契约的一部分,你可以安全地使用它以获取一个Collection
实例。
以上内容是否对您有帮助:
更多建议: