无法合并 Laravel 集合

问题描述

我不确定为什么这不起作用。我必须对外部 API 进行一系列分页调用,并希望将所有页面合并到一个主集合中。现在每个调用页面)都返回它自己的集合。我知道 merge() 方法,但由于某种未知原因它不起作用。

这是我得到的:

$master_collection = collect();

for ($x = 1; $x <= $total_pages; $x++) {
  $page = ApiService::getPage($x); //Returns collection of elements from the requested page
  $master_collection->merge($page);
} 
dd($master_collection);

然而,转储只返回初始化的空集合,但没有合并任何页面集合。我知道页面集合工作正常,因为我可以将 $page 保存到一个新的索引中数组和 dd() 数组,可以看到单个集合的数组。

解决方法

您必须将合并的集合保存到 $master_collection 变量中。

$master_collection = collect();

for ($x = 1; $x <= $total_pages; $x++) {
  $page = ApiService::getPage($x); //Returns collection of elements from the requested page
  $master_collection = $master_collection->merge($page);
} 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...