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.
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']);
$merged->all();
// ['laravel', 'php', 'jquery', 'javascript']
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);
dd($merge_collection->toArray());
// ['collection 1', 'collection 2']
}
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%]);
$merged->all();
// ['id' => 1, 'price' => 200, 'discount' => 10%]
You might also like:
- Read Also: How To Run Python Script In Laravel 9
- Read Also: Laravel 9 Create Middleware For XSS Protection
- Read Also: Paypal Payment Gateway Integration In Laravel 8
- Read Also: How To Create Dynamic XML Sitemap In Laravel 9