2016-02-09 25 views
8

Ho due modelli, Post e Comment; molti commenti appartengono a un singolo post. Sto cercando di accedere a tutti i commenti associati a un post come array.laravel collection to array

Ho il seguente, che dà una collezione.

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

Come dovrei trasformare questo $comments_collection in un array? C'è un modo più diretto di accedere a questo array attraverso relazioni eloquenti?

risposta

17

È possibile utilizzare toArray() di eloquenti come di seguito.
Il metodo toArray converte la raccolta in un semplice array PHP. Se i valori della collezione sono modelli eloquenti, i modelli saranno anche convertiti agli array

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

A volte questo metodo genera un'eccezione quando non ci sono dati. –

2

Prova questa

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

vedono questo può aiutare a
collections

0

uso collect($comments_collection) o utilizzare cercano json_decode($comments_collection) convertire in JSON.