后来升级Laravel版本时发现Collection::merge
方法不太好用。
不确定这是不是我的问题,我找不到错误。让我们看一些信息:
print_r($ecb->count());
print_r($boc->count());
// merge both
$cubes = $ecb->merge($boc);
print_r($cubes->count());
dd();
输出:
36 27 1
合并应该给出类似的输出 36 + 27(集合上没有重复的元素)
更多调试信息:
print_r($ecb->toArray());
print_r($boc->toArray());
// merge both
$cubes = $ecb->merge($boc);
print_r($cubes->toArray());
dd();
输出(有点长):http://laravel.io/bin/PdVj1#7
有什么想法吗? 谢谢
最佳答案
是的 - 它似乎在 4 和 4.1 之间发生了变化
查看此 Github 问题:https://github.com/laravel/framework/issues/3445
本质上,Eloquent 集合在合并时会删除具有重复主键的模型。
我正在运行 Laravel 4.1.29 - 我使用 count() 得到了不同的输出 - 但本质上它只是删除了重复的 id。
关于collections - Laravel 合并集合信从 4.0 升级到 4.1 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23788353/