我试图通过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);
它返回
需要帮助,谢谢。
答案 0 :(得分:0)
这两个集合是相同的。它是一个包含一个项目的数组,其中包含另一个数组。 diff
方法比较集合以查看主要元素,并发现两者都是具有1个元素的数组。这就是为什么没有差异的原因。
您应该在创建集合时删除周围的方括号[]
。
即。 $col2 = collect($data['erp_data']);