我试图合并多个对象(如收据,报表等)与。合并使用相同ID的多个对象
这是我所使用的代码:
$receipts = Receipt::all();
$reports = Report::all();
$collection = $receipts->merge($reports);
这是结果:
上面截图示出了两个元件,但第三元素缺少,因为它具有与第一个ID相同(id:“1”)。我试图实现的是将它们全部三个显示为一个集合。
编辑:
我需要的结果是对象(集合),因为我也对我的看法,我在那里检查类来确定显示什么用的代码。另外,我使用这个函数对集合中的对象进行排序。
$collection->sort(function($a, $b)
{
$a = $a->created_at;
$b = $b->created_at;
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
没有任何理由说明这种合并不应该起作用。集合不依赖于项目的任何属性。在'merge()'的引擎下,只是arrayable的array_merge。Report对象的外观如何? – tomvo 2014-09-26 14:23:16