коллекция laravel для массива
У меня две модели: Post
и Comment
; многие комментарии принадлежат одному сообщению. Я пытаюсь получить доступ ко всем комментариям, связанным с сообщением в виде массива.
У меня есть следующее, которое дает коллекцию.
$comments_collection = $post->comments()->get()
Как бы превратить этот $comments_collection
в массив? Есть ли более прямой способ доступа к этому массиву посредством красноречивых отношений?
Ответы
Ответ 1
Вы можете использовать toArray() красноречивого, как показано ниже.
Метод toArray
преобразует коллекцию в простой массив PHP. Если значения коллекции - это модели Eloquent, модели также будут преобразованы в массивы
$comments_collection = $post->comments()->get()->toArray()
Ответ 2
Попробуй это
$comments_collection = $post->comments()->get()->toarray()
см. это может помочь вам
коллекции
Ответ 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
Ответ 4
Используйте collect($comments_collection)
.
Else, попробуйте json_encode($comments_collection)
для преобразования в json.