php - 如何在 Laravel 中正确合并多个集合

标签 php laravel laravel-4 foreach laravel-5

我想将多个集合合并为一个。我有一个解决方案,如下所示:

$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/

相关文章:

php - 在 PHP 中搜索数组,性能改进

javascript - 从数据获取时外部 href 未打开

php - 调用未定义的方法 Illuminate\Database\Query\Builder::contains()

php - Laravel 不连接 Oracle

PHP - 在字符串中间添加字符(从末尾开始)

php - 检查返回的 MySQL 行数是否大于 10,如果是则运行一些代码,如果没有则运行另一段代码

php - 如何使用 Laravel 5.4 中的 Controller 从我的数据库传递 5 个不同数据的总和数据?

php - required_without 不使用多个字段

laravel - 抱歉,无法找到您要查找的页面,且未显示任何错误 : Laravel 5. 5

php - 使用 Laravel 获取从 offset 开始的所有行