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()
将返回有说服力的对象,其中as
toArray()
将返回关联数组。
dd($users->all());
dd($users->toArray());