Laravel 5.3。のEloquentコレクションに別のEloquentコレクションを追加しようとしています。
これは私がこれまでにやったことです:
_$entries = Entry::all();
$posts = Post::all();
$entries->merge($posts);
_
上記のコードに示されているようにmerge()
を使用しようとしましたが、この種の問題にこだわっているようです(同じ値のid
が同じものがあるため) :
何か案は?
このように2つの雄弁なコレクションをマージできると思います。
$mergedCollection = $entries->toBase()->merge($posts);
この後、すべてのエントリを含む コレクション です。
concat()
を探しているかもしれません。これにより、いずれかのキーに関係なく、1つのコンテナが別のコンテナの最後に追加されます。
$entries->concat($posts);
Merge()メソッドは配列を受け取るため、次のようなことをする必要があります
$entries->merge($posts->toArray());