web-dev-qa-db-ja.com

配列へのlaravelコレクション

PostCommentの2つのモデルがあります。多くのコメントは単一の投稿に属します。投稿に関連付けられているすべてのコメントに配列としてアクセスしようとしています。

私は以下を持っています、それはコレクションを与えます。

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

この$comments_collectionを配列に変換するにはどうすればよいですか?雄弁な関係を通してこの配列にアクセスするより直接的な方法はありますか?

39
datavoredan

以下のように雄弁の toArray() を使用できます。

toArrayメソッドは、コレクションをPHP配列に変換します。コレクションの値がEloquentモデルの場合、モデルも配列に変換されます

$comments_collection = $post->comments()->get()->toArray()
74
Drudge Rajen

これを試して:

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

これがあなたを助けることができることを見てください
コレクションのtoArray()メソッド

3
paranoid

collect($comments_collection)を使用します。

そうでなければ、json_encode($comments_collection)を試してjsonに変換してください。

2
TechPotter

あなたはこのようなことをすることができます

$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

2
Akshay Kulkarni