How To Merge Two Collections In Laravel

WebSolutionStuff | Jul-18-2022 | Categories : Laravel

In this article, we will see how to merge two collections in laravel 8 or laravel 9. The Illuminate\Support\Collection class provides a fluent, convenient wrapper for working with arrays of data. In this example, we will merge two collections using the laravel merge() method. The merge method merges the given array or collection with the original collection.

So, let's see laravel 8/9 merge two collections, laravel collection merge by key, how to merge collections in laravel, laravel collection merge.

Example 1: Merge multiple collections laravel

If the given items's keys are numeric, the values will be appended to the end of the collection.

$collection = collect(['laravel', 'php']);
$merged = $collection->merge(['jquery', 'javascript']);

// ['laravel', 'php', 'jquery', 'javascript']


Example 2: Merge collections with toArray() function

This method is recursive, so all attributes and all relations will be converted to arrays.

public function index()
    $collection_1 = collect(['collection 1']);

    $collection_2 = collect(['collection 2']);

    $merge_collection = $collection_1->merge($collection_2);

    // ['collection 1', 'collection 2']



Example 3: Merge key and value collections

 If a string key in the given items matches a string key in the original collection, the given items's value will overwrite the value in the original collection.

$collection = collect(['id' => 1, 'price' => 100]);
$merged = $collection->merge(['price' => 200, 'discount' => 10%]);
// ['id' => 1, 'price' => 200, 'discount' => 10%]


You might also like:

Recommended Post

Featured Post

Follow us
facebooklogo github instagram twitter

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

Please add websolutionstuff to your ad blocking whitelist or disable your adblocking software.