我有两个模型,Post
和Comment
;许多评论属于一个帖子。我正在尝试以数组形式访问与帖子关联的所有评论。
我有以下内容,给出了一个集合。
$comments_collection = $post->comments()->get()
我如何将其$comments_collection
转换为数组?是否有更直接的方式通过雄辩的关系访问此数组?
我有两个模型,Post
和Comment
;许多评论属于一个帖子。我正在尝试以数组形式访问与帖子关联的所有评论。
我有以下内容,给出了一个集合。
$comments_collection = $post->comments()->get()
我如何将其$comments_collection
转换为数组?是否有更直接的方式通过雄辩的关系访问此数组?
Answers:
\Illuminate\Contracts\Support\Arrayable
,它们也将被递归转换为数组。这包括雄辩的模型。
->toArray()
不会将集合转换为数组,而是将整个内容转换为数组,包括集合的项。->all()
应该是公认的答案。
toArray()
这很好。另外,我已经用文档更新了答案。
你可以做这样的事情
$collection = collect(['name' => 'Desk', 'price' => 200]);
$collection->toArray();
参考是https://laravel.com/docs/5.1/collections#method-toarray
最初来自Laracasts网站https://laracasts.com/discuss/channels/laravel/how-to-convert-this-collection-to-an-array
使用collect($comments_collection)
。
否则,尝试json_encode($comments_collection)
转换为json。