Laravel / Eloquent - 使用toArray()和json_decode将对象转换为数组之间的区别

时间:2016-02-02 16:01:06

标签: laravel laravel-4 eloquent

有时当我需要转换一个对象时,我会从一个Eloquent模型中回来,我使用

json_decode(json_encode($myObject), false));

我也用过

$myObject->toArray();

我注意到json_decode方法不适用于从paginate()返回的对象。

这两种方法的实施有何不同?

1 个答案:

答案 0 :(得分:2)

主要区别在于toArray()将序列化您的嵌套关系,只有可见的属性,它还会改变您的属性并对其进行强制转换。

您可以通过查看Eloquent Model的源代码而不是Collection来轻松查看。我节省了一些时间,代码开始here