merge()
: The merge() method merges the given object into the original collection. If a key in the given object matches a key in the original collection, the given objects value will overwrite the value in the original collection:
const collection = collect({
id: 1,
price: 29,
});
const merged = collection.merge({
price: 400,
discount: false,
});
merged.all();
// { id: 1, price: 400, discount: false }
If our collection is an array, the values will be appended to the end of the collection:
const collection = collect(['Unicorn', 'Rainbow']);
const merged = collection.merge(['Sunshine', 'Rainbow']);
merged.all();
// ['Unicorn', 'Rainbow', 'Sunshine', 'Rainbow']
mergeRecursive()
: The mergeRecursive() method merges the given array or collection recursively with the original collection. If a string key in the given items matches a string key in the original collection, then the values for these keys are merged together into an array, and this is done recursively:
const collection = collect({
product_id: 1,
price: 100,
});
const merged = collection.mergeRecursive({
product_id: 2,
price: 200,
discount: false,
});
merged.all();
// {
// product_id: [1, 2],
// price: [100, 200],
// discount: false,
// }