我想将多个集合合并为一个。我有一个解决方案,如下所示:
$allItems = $collection1->merge($collection2)
->merge($collection3)
->merge($collection4)
->merge($collection5);
这确实有效,但在某些或所有集合不包含任何对象的情况下我会遇到问题。我在 call to merge() on non object
的行中收到错误。
我实际上尝试创建一个包含所有集合的数组,然后遍历它们,同时检查它们的有效性,但它没有用,我觉得它不是很优雅。
我如何优雅地迭代合并多个集合的过程,同时考虑到部分或所有集合可能为空或无效?赞赏!
最佳答案
我最终所做的是将每个步骤分开。是合并链杀死了它,因为部分或全部集合可能无效。
$allItems = new \Illuminate\Database\Eloquent\Collection; //Create empty collection which we know has the merge() method
$allItems = $allItems->merge($collection1);
$allItems = $allItems->merge($collection2);
$allItems = $allItems->merge($collection3);
$allItems = $allItems->merge($collection4);
关于php - 如何在 Laravel 中正确合并多个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32387575/