J'ai deux modèles, Post
et Comment
; de nombreux commentaires appartiennent à un seul post. J'essaie d'accéder à tous les commentaires associés à une publication sous forme de tableau.
J'ai le suivant, qui donne une collection.
$comments_collection = $post->comments()->get()
Comment pourrais-je transformer ce $comments_collection
dans un tableau? Existe-t-il un moyen plus direct d'accéder à ce tableau par le biais de relations éloquentes?
Vous pouvez utiliser toArray () d'éloquent comme ci-dessous.
La méthode toArray
convertit la collection en un tableau simple PHP. Si les valeurs de la collection sont des modèles Eloquent, les modèles seront également convertis en tableaux.
$comments_collection = $post->comments()->get()->toArray()
Essaye ça:
$comments_collection = $post->comments()->get()->toArray();
voir cela peut vous aider
méthode toArray () dans Collections
Utilisez collect($comments_collection)
.
Sinon, essayez json_encode($comments_collection)
pour convertir en json.
tu peux faire quelque chose comme ça
$collection = collect(['name' => 'Desk', 'price' => 200]);
$collection->toArray();
La référence est https://laravel.com/docs/5.1/collections#method-toarray
À l'origine du site Web de Laracasts https://laracasts.com/discuss/channels/laravel/how-to-convert-this-collection-to-an-ararray