Laravel Collection Diff不返回两个集合之间的差异

时间:2018-08-31 06:26:23

标签: laravel-collection

我试图通过laravel的diff函数获得两个集合之间的差异,但不知道为什么它总是返回0个差异项目,尽管$ col1包含6个项目,而$ col2包含5个项目, 我的代码:

$col1=collect([$data['result']->items()]);
$col2=collect([$data['erp_data']]);
$diff=$col1->diff($col2);
dd($col1,$col2,$diff);

它返回

result

需要帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

这两个集合是相同的。它是一个包含一个项目的数组,其中包含另一个数组。 diff方法比较集合以查看主要元素,并发现两者都是具有1个元素的数组。这就是为什么没有差异的原因。

您应该在创建集合时删除周围的方括号[]

即。 $col2 = collect($data['erp_data']);