合并按月份分组的两个模型


Merge two models grouped by month

我必须建模,它们按月份分组:

$cars= $company->car->groupBy(function($item)
{
     return Carbon::parse($item->created_at)->format('M');
});
$boats= $company->boat->groupBy(function($item)
{
     return Carbon::parse($item->created_at)->format('M');
});

所以我有两个收集

  Collection {#841 ▼
  #items: array:3 [▼
    "Jan" => Collection {#848 ▼
      #items: array:1 [▼
        0 => Cars {#859 ▶}
      ]
    }
    "Fab" => Collection {#852 ▶}
    "Mar" => Collection {#853 ▶}
  ]
}

同样,对于船只,我的问题是如何将它们合并以获得类似的东西

  Collection {#841 ▼
  #items: array:3 [▼
    "Jan" => Collection {#848 ▼
      #items: array:1 [▼
        0 => Cars {#859 ▶}
        1 => Boats {#860 ▶}
      ]
    }
    "Fab" => Collection {#852 ▶}
    "Mar" => Collection {#853 ▶}
  ]
}

您需要首先合并这两个集合,然后按月分组。

下面的代码应该做到这一点:

$result = $company->car->merge($company->boat)->groupBy(function($item) {
     return Carbon::parse($item->created_at)->format('M');
});

以下是我的操作方法:

$collection= $company->car;
$company->boat->each(function ($item) use ($collection) {
    $collection->add($item);
});