使用相同的键值合并集合

Dav*_*vid 1 collections laravel

我有两个要合并数据的集合:

\n\n
//1\n  [\n     [\n       "date" => "2019-02-15",\n       "clicks" => 1,\n     ],\n   ]\n//2\n[\n     [\n       "date" => "2019-02-15",\n       "users" => 1,\n     ],\n   ]\n
Run Code Online (Sandbox Code Playgroud)\n\n

必须将特定键具有相同值 \xe2\x80\x8b\xe2\x80\x8b 的集合元素(数组)组合起来

\n

Dav*_*vid 5

<?php

$c1 = collect([
    [
        "date" => "2019-02-15",
        "clicks" => 1,
    ],
    [
        "date" => "2019-02-16",
        "clicks" => 3,
    ],
]);

$c2 = collect([
    [
        "date" => "2019-02-15",
        "users" => 4,
    ],
    [
        "date" => "2019-02-16",
        "users" => 5,
    ],
]);

$c1->merge($c2)
    ->groupBy('date')
    ->map(function ($items) {
        return Arr::collapse($items);
    });
Run Code Online (Sandbox Code Playgroud)