我必须建模,它们按月份分组:
$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);
});