Arrays Laravel 5中all()和toArray()之间的差异
当我管理需要转换为数组的集合时,我通常使用Arrays Laravel 5中all()和toArray()之间的差异,arrays,laravel,collections,Arrays,Laravel,Collections,当我管理需要转换为数组的集合时,我通常使用toArray()。但是我也可以使用all()。我不知道这两个函数的区别 有人知道吗?如果它是一组有说服力的模型,那么这些模型也将通过toArray()转换为数组 它将返回一组雄辩的模型,而不将它们转换为数组 $col->all(); toArray方法将集合转换为普通PHP数组。如果集合的值是雄辩的模型,则模型也将转换为数组: all()返回集合中的项 /** * Get all of the items in the collec
toArray()
。但是我也可以使用all()
。我不知道这两个函数的区别
有人知道吗?如果它是一组有说服力的模型,那么这些模型也将通过toArray()转换为数组 它将返回一组雄辩的模型,而不将它们转换为数组
$col->all();
toArray方法将集合转换为普通PHP数组。如果集合的值是雄辩的模型,则模型也将转换为数组:
all()返回集合中的项
/**
* Get all of the items in the collection.
*
* @return array
*/
public function all()
{
return $this->items;
}
toArray()返回集合中的项,并将它们转换为数组(如果可以排列):
/**
* Get the collection of items as a plain array.
*
* @return array
*/
public function toArray()
{
return array_map(function ($value) {
return $value instanceof Arrayable ? $value->toArray() : $value;
}, $this->items);
}
例如:从数据库中抓取所有用户,如下所示:
$users = User::all();
然后将它们分别倾倒,您将看到不同之处:
dd($users->all());
还有toArray()
all()
将返回有说服力的对象,其中astoArray()
将返回关联数组。
dd($users->all());
dd($users->toArray());