I have two models, Post
and Comment
; many comments belong to a single post. I'm trying to access all comments associated with a post as an array.
I have the following, which gives a collection.
$comments_collection = $post->comments()->get()
How would I turn this $comments_collection
into an array? Is there a more direct way of accessing this array through eloquent relationships?
You can use toArray() of eloquent as below.
The toArray
method converts the collection into a plain PHP array. If the collection's values are Eloquent models, the models will also be converted to arrays
$comments_collection = $post->comments()->get()->toArray()
From Laravel Docs:
toArray also converts all of the collection's nested objects that are an instance of Arrayable to an array. If you want to get the raw underlying array, use the all method instead.