拉拉维尔收集到阵列

2022-08-30 07:32:57

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

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

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

如何将其转换为数组?有没有一种更直接的方法通过雄辩的关系来访问这个数组?$comments_collection


答案 1

您可以使用雄辩的 toArray() 如下所示。

该方法将集合转换为纯 PHP 数组。如果集合的值是 Eloquent 模型,则模型也将转换为数组toArray

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

来自 Laravel Docs:

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


答案 2

使用方法 - 它旨在返回“收藏”的项目:all()

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