laravel 集合转化为数组如何实现?

我有两个模型, PostComment ;许多评论属于一个帖子。我正在尝试以数组的形式访问与帖子相关的所有评论。

我有以下内容,它提供了一个集合。

$comments_collection = $post->comments()->get()

我如何将这个 $comments_collection 变成一个数组?有没有更直接的方式通过雄辩的关系来访问这个数组?

原文由 datavoredan 发布,翻译遵循 CC BY-SA 4.0 许可协议
阅读 1.1k
2 个回答

您可以使用 eloquent 的 toArray() 如下。

toArray 方法将集合转换为普通的 PHP 数组。如果集合的值是 Eloquent 模型,模型也会被转换为数组

$comments_collection = $post->comments()->get()->toArray()

来自 Laravel 文档:

toArray 还将集合中所有作为 Arrayable 实例的嵌套对象转换为数组。如果要获取原始底层数组,请改用 all 方法。

原文由 Drudge Rajen 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 all() 方法 - 它旨在返回 Collection 的项目:

 /**
 * Get all of the items in the collection.
 *
 * @return array
 */
public function all()
{
    return $this->items;
}

原文由 eithed 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏