我有两个型号,Post和Comment;许多评论属于一个帖子。我试图访问与一个帖子相关的所有评论作为一个数组。我有下面的,这给了一个集合。$comments_collection = $post->comments()->get()如何将这个$comments_collection转换为一个数组?有没有更直接的方法通过有说服力的关系访问这个数组?
Post
Comment
$comments_collection = $post->comments()->get()
$comments_collection
wydwbb8l1#
你可以使用下面的toArray()函数。toArray方法将集合转换为普通PHP数组。
toArray
$comments_collection = $post->comments()->get()->toArray()
Laravel Docs:toArray还将集合中所有作为Arrayable示例的嵌套对象转换为数组。如果要获取原始基础数组,请改用all方法。
hivapdat2#
使用all()方法-它的目的是返回集合的项目:
all()
/** * Get all of the items in the collection. * * @return array */ public function all() { return $this->items; }
cedebl8k3#
试试这个:
$comments_collection = $post->comments()->get()->toArray();
看这个能帮到你集合中的toArray()方法
yacmzcpb4#
你可以做这样的事
$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
dfddblmv5#
使用collect($comments_collection)。否则,尝试json_encode($comments_collection)转换为json。
collect($comments_collection)
json_encode($comments_collection)
3z6pesqy6#
只需对集合执行all(),就会返回一个数组,如下所示:
$comments_collection = $post->comments()->all();
我现在用的是Laravel 10.5.0,这对我来说很好用。
vhipe2zx7#
在数组中尝试collect函数,如:
$comments_collection = collect($post->comments()->get()->toArray());
这些方法可以帮助您
toArray()withcollect()
7条答案
按热度按时间wydwbb8l1#
你可以使用下面的toArray()函数。
toArray
方法将集合转换为普通PHP数组。Laravel Docs:
toArray还将集合中所有作为Arrayable示例的嵌套对象转换为数组。如果要获取原始基础数组,请改用all方法。
hivapdat2#
使用
all()
方法-它的目的是返回集合的项目:cedebl8k3#
试试这个:
看这个能帮到你
集合中的toArray()方法
yacmzcpb4#
你可以做这样的事
参考网址:https://laravel.com/docs/5.1/collections#method-toarray
来源:Laracasts网站https://laracasts.com/discuss/channels/laravel/how-to-convert-this-collection-to-an-array
dfddblmv5#
使用
collect($comments_collection)
。否则,尝试
json_encode($comments_collection)
转换为json。3z6pesqy6#
只需对集合执行all(),就会返回一个数组,如下所示:
我现在用的是Laravel 10.5.0,这对我来说很好用。
vhipe2zx7#
在数组中尝试collect函数,如:
这些方法可以帮助您
toArray()withcollect()