laravel集合到数组

时间:2016-02-09 06:03:00

标签: php arrays laravel eloquent

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

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

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

如何将此$comments_collection转换为数组?是否有更直接的方式通过雄辩的关系访问这个数组?

6 个答案:

答案 0 :(得分:59)

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

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

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

答案 1 :(得分:4)

试试这个:

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

看到这可以帮到你 toArray() method in Collections

答案 2 :(得分:3)

你可以做这样的事情

$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

答案 3 :(得分:1)

使用collect($comments_collection)

否则,请尝试json_encode($comments_collection)转换为json。

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

尝试在数组中

尝试收集函数,

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

此方法可以为您提供帮助

toArray() collect()