gpt4 book ai didi

laravel - 非递归地将 Laravel 集合转换为数组

转载 作者:行者123 更新时间:2023-12-02 14:54:36 25 4
gpt4 key购买 nike

我有一个 Collection 对象。我想将其转换为对象的 array。不幸的是,Collection 中的 toArray 似乎递归应用,因此我实际上得到了一个数组数组。

这是一个显示问题的例子:

$users = User::get();
$result = $users->toArray();
dd($result);

在上面的示例中,您获取的不是一组用户模型,而是一组数组。

为什么会出现这个问题,看Laravel的源码就很清楚了:

// Illuminate\Support\Collection.php

public function toArray()
{
return array_map(function ($value) {
return $value instanceof Arrayable ? $value->toArray() : $value;
}, $this->items);
}

请注意,我仍然希望 $users 成为一个 Collection,因为示例只是一个 MCVE .我只是不想递归应用 toArray。请注意,我完全了解不好的解决方法,例如重新水化我的模型。

最佳答案

$users = User::get();
$result = $users->all();
dd($result);

我想这就是你想要的。试一试。

关于laravel - 非递归地将 Laravel 集合转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53590272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com