不要调用 TOARRAY() 从 LARAVEL COLLECTION 中获取所有项目

Laravel 的Collection类非常棒。你可能在所有 Laravel 项目中都用到了它。

您经常需要将集合强制转换为常规数组。像我一样,您可能想toArray()这样做。但这可能是错误的调用方法。

在简单的集合上toArray工作就像预期的那样。

$collection = collect([1, 2, 3]);

$collection->toArray(); // returns [1, 2, 3]

但这里有一个例子,它的行为可能与你预期的不一样。让我们尝试调用toArray一组 Eloquent 模型。

$usersCollection = User::all(); // returns a collection

$usersArray = $usersCollection->toArray();

ray($usersArray);

让我们看看Ray返回了什么

如你所见,集合中的模型也被转换为数组。这可能是你意想不到的。

要从集合中获取所有元素作为数组,必须调用all()而不是toArray()

 

$usersCollection = User::all(); // returns a collection

$usersArray = $usersCollection->all();

ray($usersArray);

在 Ray 中,您现在可以看到,数组包含User模型的实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rorg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值